【问题标题】:Xml data in String type字符串类型的xml数据
【发布时间】:2009-06-05 15:29:05
【问题描述】:

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

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

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

【问题讨论】:

    标签: java xml jaxb


    【解决方案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

    希望对你有帮助

    【讨论】:

      【解决方案2】:

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

      如果你想解析这个,你需要做以下事情:

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

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

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

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-12-10
        • 2011-01-30
        • 1970-01-01
        • 2019-11-29
        • 2014-11-02
        • 2015-02-08
        • 1970-01-01
        相关资源
        最近更新 更多