我正在连接到具有以下格式的服务定义的 Web 服务
<main>
<header>
<data>xyz</data>
</header>
<test>
<![CDATA[<xml><a></a><b></b></xml>]]>
</test>
</main>
如何使用 jaxb 为 cdata 结构创建类文件
首先使用 xml-schema 格式 (XSD) 定义您的架构,然后运行 xjc 编译器(xsd java 编译器)来生成您的类。生成类后,您可以使用 @WebService 注释创建 Web 服务。几个月前,我在我的博客上发布了一些示例,请参阅: http: //plindenbaum.blogspot.com/2006/12/java-16-mustang-jaxb-and.html和http://plindenbaum.blogspot.com/2008 /11/web-service-for-onsolubility.html。
希望能帮助到你
JAXB 将无法解析 CDATA 声明中包含的任何内容:XML 解析器将始终报告该字符串。
如果要解析此内容,则需要执行以下操作:
在原始模式上运行 JAXB,它将“test”的内容指定为字符串或“any”(它必须这样做,否则它不能包含 CDATA 声明!)
在辅助模式上运行 JAXB,它定义了“test”元素的内容。
在运行时,您需要使用 JAXB 解析 XML 文档,然后导航到“test”元素并再次使用 JAXB 解析该元素。不会有别的办法了。
希望这可以帮助。