UnMarshaling атрибут XML и значение в Java с использованием JAXB - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть XML-ответ от REST API, как показано ниже:

 <?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>

Я знаю, как получить значение элемента xml, т.е. "XYZ", используя jaxb и bind to bean.Но я застрял в знании, как извлечь значение ресурса (то есть; "https://www.cyz.com"),units("PH"),href("ww.com"),value xmlns внутри div? И затем отобразить значение в свойство объекта. Пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 06 февраля 2019

создать два отдельных класса для 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;
    }
}

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;
    }
}
...