10

OmniXMLパッケージを使用して、独自のXMLデータを持つ別のXMLファイル内にXMLコードを格納することは可能ですか?

このような:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root>
<data>
   <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
      <otherxml>data</otherxml>
</data>

タグデータ内では、すべてがデータである必要があります。パーサーが次のデータをXMLデータ構造に解析するのを妨げるエスケープ文字はありますか?

または、OmniXMLには、この状況でのシリアル化のサポートが付属していますか?

他の簡単なアイデアも歓迎します。

4

2 に答える 2

22

CDATAを使用できます。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root>
<data>
   <![CDATA[
   <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
      <otherxml>data</otherxml>
   ]]>
</data>

の値を取得するdataと、文字列として表示されるため、新しいXMLパーサーを介して実行する必要があることに注意してください。

omn​​iXMLのサンプルコードは次のとおりです。

var
  xml:IXMLDocument;
  Node:IXMLNode;
begin
  xml := CreateXMLDoc;    
  xml.SelectSingleNode('/root/data',Node);
  ShowMessage(GetNodeCData(Node,'data',''));
end;
于 2012-01-25T18:12:58.707 に答える
3

データのコンテンツを完全に読み取る必要がない場合は、Base64やUUEncodeなどでエンコードできます。

次に、データを抽出、デコード、解析できます

于 2012-01-25T20:17:09.593 に答える