Как избежать символьных сущностей в XML? - PullRequest
0 голосов
/ 31 марта 2010

Я хочу передать XML как строку в атрибуте XML.

<activity evt="&lt;FHS&gt;
     &lt;act&gt;
         &lt;polyline penWidth=&quot;2&quot;  points=&quot;256,435 257,432 &quot;/&gt;
     &lt;/act&gt;
   &lt;/FHS&gt;" />

Здесь атрибут «evt» - это строка XML, поэтому экранирование всех символов «меньше», «больше» и т. Д. Соответствующими объектами символов работает нормально.

Проблема в том, что я хочу, чтобы фрагмент интерпретировался как есть - сами символьные объекты должны рассматриваться как простые строки.

Когда читается атрибут «evt» и из него генерируется XML, он должен выглядеть как

<FHS>
  <act>
    &lt;polyline penWidth=&quot;2&quot;  points=&quot;256,435 257,432 &quot;/&gt;
  </act>
</FHS>

По сути, я хочу убежать от сущностей персонажей. Как это возможно?

1 Ответ

1 голос
/ 31 марта 2010

Таким образом, вам нужно дважды экранировать сущности во «внутренней» строке. Это будет выглядеть так:

&amp;lt;polyline penWidth=&amp;quot;2&amp;quot;  points=&amp;quot;256,435 257,432 &amp;quot;/&amp;gt;

Должен сказать, я надеюсь, что у вас есть веская причина для этого :) Естественным способом сделать это может быть простое вложение элементов и извлечение дочерних элементов при необходимости.

...