String类型中的Xml数据

时间:2009-06-05 15:29:05

标签: java xml jaxb

我正在连接到具有以下格式的服务定义的web服务

<main>
  <header>
     <data>xyz</data>
  </header>
  <test>
   <![CDATA[<xml><a></a><b></b></xml>]]>
  </test> 
</main>

如何使用jaxb为cdata结构创建类文件

2 个答案:

答案 0 :(得分:1)

首先使用xml-schema格式(XSD)定义模式,然后运行xjc编译器(xsd java编译器)以生成类。生成类后,可以使用@WebService批注创建Web服务。几个月前我在我的博客上发布了一些示例:http://plindenbaum.blogspot.com/2006/12/java-16-mustang-jaxb-and.htmlhttp://plindenbaum.blogspot.com/2008/11/web-service-for-onsolubility.html

希望有所帮助

答案 1 :(得分:0)

JAXB将无法解析CDATA声明中包含的任何内容:XML解析器将始终报告字符串。

如果要解析此问题,则需要执行以下操作:

  • 在原始模式上运行JAXB,它将“test”的内容指定为字符串或“any”(它必须,否则它不能包含CDATA声明!)

  • 在辅助模式上运行JAXB,该模式定义“test”元素的内容。

在运行时,您需要使用JAXB解析XML文档,然后导航到“test”元素并使用JAXB再次解析该元素 。不会有另一种方式。

希望这有帮助。