0

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

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

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

4

2 回答 2

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

希望能帮助到你

于 2009-06-05T15:53:30.540 回答
0

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

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

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

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

在运行时,您需要使用 JAXB 解析 XML 文档,然后导航到“test”元素并再次使用 JAXB 解析该元素。不会有别的办法了。

希望这可以帮助。

于 2009-06-08T09:43:35.013 回答