如何转义XML中的字符实体?

时间:2010-03-31 14:00:44

标签: xml entities escaping

我想将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 个答案:

答案 0 :(得分:1)

所以你需要两次转义“内部”字符串中的实体。它看起来像是:

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

我必须说我希望你有充分的理由这样做:)这样做的自然方式似乎只是嵌套元素,并根据需要提取子元素。