non*_*one 9 xml delphi xml-serialization delphi-2009 omnixml
使用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>
Run Code Online (Sandbox Code Playgroud)
在标签数据里面,一切都应该是数据.是否存在防止解析器将下一个数据解析为XML数据结构的转义字符?
或者OmniXML是否支持这种情况的序列化?
任何其他简单的想法也欢迎.
Mik*_*sen 21
你可以使用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>
Run Code Online (Sandbox Code Playgroud)
请注意,当您获取值时data,它将作为一个字符串,因此您必须通过新的XML解析器运行它.
以下是omniXML的示例代码:
var
xml:IXMLDocument;
Node:IXMLNode;
begin
xml := CreateXMLDoc;
xml.SelectSingleNode('/root/data',Node);
ShowMessage(GetNodeCData(Node,'data',''));
end;
Run Code Online (Sandbox Code Playgroud)