0

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>

基本的に、私はキャラクターエンティティをエスケープしたいと思います。これはどのように可能ですか?

4

1 に答える 1

1

したがって、「内部」文字列のエンティティを2回エスケープする必要があります。次のようになります。

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

私はあなたがこれを行う正当な理由があることを願っています:)それを行う自然な方法は、要素をネストし、必要に応じて子要素を抽出することであるように思われます。

于 2010-03-31T14:05:13.960 に答える