2013-03-21 1 views
1

мы посылаем XML в SOAP теле, поэтому мы заменили XML-тег с <, > в &lt; & &gt; Все было прекрасно, пока мы не столкнулись с апострофа.SOAP тело имеет другой XML и имеет апостроф

Этот XML прошел отлично:

&lt;ScemaLocation:Name _FirstName='John' _LastName='OBarber' /&gt;

Но это один бросил ошибку, поскольку она имеет апостроф в LastName:

&lt;ScemaLocation:Name _FirstName='John' _LastName='O'Barber' /&gt;

Мы пробовали все ниже вариант, но ничего был полезным

  • O'Barber =>O&apos;Barber
  • O'Barber =>O/'Barber
  • O'Barber =>O<![CDATA[']]>Barber
  • O'Barber =>O&lt;![CDATA[']]&gt;Barber
  • O'Barber =><![CDATA[O'Barber]]>
  • O'Barber =>O&lt;CDATA[O'Barber]]&gt;
  • O'Barber =>O&#39;Barber

Пожалуйста, помогите мне решить эту проблему.

+1

Побег из апострофа или оберните его в раздел CDATA. Это ваш единственный выбор. – duffymo

ответ

0

Мы получили два параметра, чтобы устранить эту проблему

Вариант 1: ScemaLocation: Имя _FirstName = _LastName 'John' = 'O & APOS; Barber'; Вариант 2: Мы помещаем весь внутренний xml в раздел CData. Так что не нужно заменить < < с, и мы можем использовать регулярную последовательность спасай ", как ' так в нашем случае O ' Barber

Надеется, что это могло бы полезным для других. Благодаря!

Смежные вопросы