当前位置: 首页 > 知识库问答 >
问题:

如何使用Java将包含代码和不同命名空间的XML转换为对象?

毛景曜
2023-03-14
<?xml version="1.0" encoding="UTF-8"?>
<Response xmlns="http://www.demo.com/response/ResponseDetails"    
xmlns:ft="http://www.demo.com/response/footer" 
xmlns:hd="http://www.demo.com/response/header"   
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       
xsi:schemaLocation="http://www.demo.com/response/ResponseDetails    
Response.xsd">
<hd:header>
  <hd:STATUS>
    <hd:MESSAGE>
      <hd:MESSAGE_CODE>0000</hd:MESSAGE_CODE>
      <hd:MESSAGE_DESC>SUCCESS</hd:MESSAGE_DESC>
      <hd:MESSAGE_TYPE>SU</hd:MESSAGE_TYPE>
    </hd:MESSAGE>
  </hd:STATUS>
</hd:header>
<ResponseDetails>
  <TAG1>tag 1 value</TAG1>
  <TAG2>tag2 value</TAG2>
  <TAG3>tag3 value</TAG3>
  <TAG4>tag4 value</TAG4>
</ResponseDetails>
<ft:footer>
  <ft:CODEDESCRIPTION />
</ft:footer>
</Response>

这是我从web服务调用中得到的示例响应,我无法将此字符串响应转换为object。以上XML正是我收到的。如何使用JAXB或xstream将上述XML转换成对象?

共有1个答案

蔚宏大
2023-03-14

JAXB可以将XSD转换为Java类。有很多资源可以帮助您入门,包括Oracle的JAXB官方简介。

您的XML包含诸如Prolog之类的代码并不重要。将其视为文本。

还支持不同的命名空间。您可能想阅读Blaise Doughan在Stack Overflow上的一些非常有用的答案,比如这篇。

如果这个答案太宽泛,你可能想缩小问题的范围。

 类似资料:
  • 我正在尝试创建一个XSLT文件,我可以让它工作,而无需在任何一个文件中包含名称空间,但只要我在其中包含名称空间,它就会停止工作。以下是我正在使用的示例。 我的XML文件 我的转换文件。 我的结果 如果我将上述内容更改为此,则不会。我的新XML文件 我的新转换文件。 我现在在转换后的文件中没有数据了?如果这个问题是基本的,请原谅,我没有XSLT的经验,目前我正努力解决这个问题。

  • 我在Azure-Databricks中使用spark-xml库。但是我不能得到正确的选项来读取这种包含多个名称空间的文件。 因此,我正在寻找一些帮助,让这在选项编码,或任何其他方法。 这是一个剥离的样品。

  • 问题内容: 我花了整整一天的时间尝试从以下文档中提取一个XML节点,并且无法掌握XML命名空间的细微差别以使其正常工作。 XML文件总的来说很大,所以这是与我有关的部分: 该文档继续进行,并且从头到尾都井井有条。我正在尝试从“ documentnbr”标签(底部的三个)中提取“ number”属性。 我用于执行此操作的代码如下所示: 其中QUERY_FORM_NUMBER是我的XPath表达式,而

  • 问题内容: 我知道此页面中有很多此主题,但可悲的是,我仍然无法解决我的问题。 这是我的xml代码: 这是我在Java中的代码: 是的,像往常一样,我无法获得输出,因为它仅显示: 仅当我删除ns:1时,才会显示输出,xml的代码将如下所示: 问题是,我在网上发现的所有建议似乎都没有用: 例如,我已经尝试过 等2 .. 我能得到的唯一最好的输出是,它将显示: 谁能给我正确的代码给我解决我的问题? 提前

  • 我有下面的,我试图使用JAXB将其转换为Java对象。我在这里得到空值,请指导我这里缺少什么或做错了什么。 我不熟悉 JAXB 和命名空间

  • 问题内容: 我想将输入的Excel文件转换为输出XML文件。 如果有人在Java中对如何获取输入Excel文件以及如何将XML写入输出有任何解决方案,请提供任何代码或URL或任何其他解决方案。 谢谢, 米沙尔·沙(Mishal Shah) 问题答案: 查看jexcel或Apache POI库以读取Excel文件。 创建XML文件很简单,只需将XML直接写到文件中,或附加到XML文档中,然后使用标准