Mar*_*c C 6 xml xml-serialization
我需要在包装XML文档中嵌入任意(语法上有效)的XML文档.嵌入的文档应被视为纯文本,在解析包装文档时不需要是可解析的.
我知道" CDATA技巧 ",但如果内部XML文档本身包含CDATA段,我就不能使用它,我需要能够嵌入任何有效的XML文档.任何关于实现这一点的建议 - 或解决CDATA限制 - 将不胜感激.
您需要正确转义文本。您没有说使用什么语言,但通常是:建立一个DOM,创建一个包含“内部” XML的Text节点,然后序列化该DOM。序列化程序将为您处理转义。
这里的关键是使用串行器产生输出。不要简单地编写字符串,因为几乎可以保证生成的不是格式正确的XML。
你可以通过简单地添加文档(没有它的< ?xml
声明)作为一个父亲的孩子来做到这一点.SOAP正在这样做 - 它有一个<Body>
元素,可以包含任何想要发送的xml消息.
SOAP以这种方式定义XSD:
<xs:element name="Body" type="tns:Body" />
<xs:complexType name="Body">
<xs:sequence>
<xs:any namespace="##any" minOccurs="0"
maxOccurs="unbounded" processContents="lax" />
</xs:sequence>
<xs:anyAttribute namespace="##any" processContents="lax">
</xs:anyAttribute>
</xs:complexType>
Run Code Online (Sandbox Code Playgroud)