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

使用JAXB在java中解组xml属性和值

松刚豪
2023-03-14

我有一个来自REST API的XML响应,如下所示:

 <?xml version="1.0" encoding="UTF-8"?>
 <ns2:testpla xmlns:ns2="http:xyz"  xmlns:ns7="xyz">
 <ns2:category term="Default Category" value="Default Category Value"/>
 <ns2:testase ns7:resource="https://www.cyz.com" units="PH" 
  href="ww.com">XYZ</ns2:testase>
 <ns2:testase ns7:resource="https://ww.cyz.com" units="LH" 
  href="ww.org">AZ</ns2:testase>
 <com.abc xmlns="http://lq.net" extensionDisplayName="QWZ-KEY-TP-TEST-ZWE- 
 TI">
  <div xmlns="http://www.w3.org/1999/xhtml">TriggerA ND confirm the 
 functionality</div>
  </com.abc>
  </ns2:testpla>

我知道如何使用jaxb获取xml元素值,即“XYZ”,并绑定到bean。但我被困在知道如何获取资源的价值(即https://www.cyz.com),单位(“PH”),href(“ww.com”),div?内xmlns的值,然后将该值映射到对象属性。请帮助我。

共有1个答案

常嘉平
2023-03-14

为testpla和testase分别创建两个类

Testpla.java

@XmlRootElement(name = "ns2:testpla")
public class Testpla {

    private Testase testase;

    public Testase getTestase() {
        return testase;
    }

    @XmlElement(name = "ns2:testase")
    public void setTestase(Testase testase) {
        this.testase = testase;
    }
}

测试酶。JAVA

@XmlRootElement(name = "ns2:testase")
public class Testase {

    private String resource;
    private String units;

    public String getResource() {
        return resource;
    }

    @XmlAttribute(name = "ns7:resource")
    public void setResource(String resource) {
        this.resource = resource;
    }

    public String getUnits() {
        return units;
    }

    @XmlAttribute(name = "units")
    public void setUnits(String units) {
        this.units = units;
    }
}
 类似资料:
  • 问题内容: 有一个丑陋的XML文件必须解组: 产生的Java对象应为: 这个问题的答案非常接近,但我不知道最终的解决方案。 问题答案: 怎么样? 介绍一个称为选项的通用超类: 然后在带有选项列表的类(在本示例中为Configuration)上,在该属性上指定一个@XmlJavaTypeAdapter: XmlAdapter看起来像这样: AdaptedOptions看起来像:

  • 我有一个XML模式,它说: 这意味着我必须能够创建一个如下所示的实例:

  • 问题内容: 是否可以使用JAXB根据xml的属性将xml解组到特定的Java类? 我想要一个包含三角形和正方形的Shape对象的列表,每个对象都有自己的特定于形状的属性。IE浏览器: 我目前只是将所有属性都放在一个大的“ Shape”类中,这并不理想。 如果形状已正确命名为xml元素,则可以使它正常工作,但是不幸的是,我无法控制要检索的xml。 谢谢! 问题答案: JAXB是一个规范,特定的实现将

  • 问题内容: 我是JAXB的新手,并且想知道是否有一种方法可以使用xpath表达式将XML解组到我的响应对象。问题是我正在呼叫第三方Web服务,收到的响应有很多详细信息。我不希望将XML中的所有详细信息映射到我的响应对象。我只希望从xml映射一些细节,使用这些细节我可以使用特定的XPath表达式并将其映射到我的响应对象。有没有注释可以帮助我实现这一目标? 例如考虑以下响应 我只对检索街道名称感兴趣,

  • 我是JAXB新手,想知道是否有一种方法可以使用xpath表达式将XML解组到响应对象。问题是我正在呼叫第三方Web服务,我收到的回复有很多详细信息。我不希望将XML中的所有细节映射到我的响应对象。我只希望映射xml中的一些细节,使用特定的XPath表达式可以获得这些细节,并将其映射到响应对象。有没有注释可以帮助我实现这一点? 例如,考虑以下响应 我只对检索街道名称感兴趣,所以我想使用xpath表达

  • 嗨,我正在解组一个XML文件,该文件有一个标记,可以包含值或元素列表。我想知道解组这种XML的最佳方法是什么。例子: 我无法改变XML的构建方式,因此我希望有人能给出答案。非常感谢。