如何在XML的Cdata部分中包含两个XML标签?

时间:2012-01-12 10:49:44

标签: xml

我有一个示例XML数据如下所示,现在我只能在Cdata中包含一个XML数据

请告诉我如何在Cdata部分中包含两个XML标签

<soap11env:Envelope xmlns:soap11env="http://schemas.xmlsoap.org/soap/envelope/">
          <soap11env:Header></soap11env:Header>
          <soap11env:Body>
<strategy>
            <request>
 <fixmlMessage>
<![CDATA[<accountid>384</accountid>]]>
</fixmlMessage>
</request>
</strategy>
          </soap11env:Body>
        </soap11env:Envelope>

谢谢。

3 个答案:

答案 0 :(得分:0)

可能以下是可以接受的 -

<![CDATA[<myData><datum1>384</datum1><datum2>483</datum2></myData>]]>

答案 1 :(得分:0)

根据定义,CDATA中没有标签。 CDATA的意思是“字符数据”:通过把东西放在CDATA中,你明确地说“这里看起来像标签的任何东西实际上都不是标签”。那么你究竟想要实现什么目标呢?

答案 2 :(得分:0)

@atara是正确的,但没有解释他们得到了什么。无论你有什么理由在CDATA内容中添加XML并稍后将其解压缩并使用Java解析它,您仍然需要有效的XML来解析。你在那里拥有的两个元素本身并没有生成有效的XML,也没有根元素。当取出CDATA内容并由Java应用程序解析为XML时,它应该抱怨。尝试将其包装为@atara建议,例如:

&LT;![CDATA并[d msgcontent&GT; &LT; ACCOUNTID&GT; 384&LT; / ACCOUNTID&GT;&lt;使用者&GT;当量&LT; /使用者&gt;&LT; / msgcontent&GT;]]&GT;