0

我有一个场景,例如,我需要将 xml 作为 SOAP 请求消息中的标记内容发送到 Web 服务

<arg_1><xml version="1.0" encoding="UTF-8"?><sometag><somemoretag>abcd</somemoretag></sometag></arg_1></code>

arg_1 恰好是 Web 服务的字符串参数。所以我为此引入了一个 CDATA 部分

<arg_1><![CDATA[<xml version="1.0" encoding="UTF-8"?><sometag><somemoretag>abcd</somemoretag></sometag>]]></arg_1>

但这一直给我一个例外

org.xml.sax.SAXException: WSWS3084E: 错误:SimpleDeserializer 在它试图反序列化的东西中遇到了一个子元素,这是不期望的。正在解析的消息:

我不断收到这个异常。有没有人见过这个??

4

2 回答 2

0

有几种方法可以处理这个 -

  1. 删除 XML Prolog 并将原始 XML 文档插入到另一个文档中元素的内容中。
<arg_1><sometag><somemoretag>abcd</somemoretag></sometag></arg_1>
  1. 像处理任何其他文本内容一样转义原始 XML 文档,并将生成的文本插入到元素的内容中。
<arg_1><sometag><somemoretag>abcd</somemoretag></sometag></arg_1>
于 2010-03-27T05:17:17.047 回答
0

我遇到了类似的问题,其中我的 xml 不在 CDATA 中。对于要被视为字符串的标签,您必须使用如下:

 <![CDATA[ ---your xml---- ]]>

但是你没有用过?在xml版本之前。标签应该是 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> 在你的情况下它的<xml version="1.0" encoding="UTF-8" standalone="yes"?>.

于 2016-11-23T09:02:38.763 回答