gpt4 book ai didi

java - 如何使用 JAXB 获取 xml 属性

转载 作者:搜寻专家 更新时间:2023-10-31 19:47:29 25 4
gpt4 key购买 nike

这是我的 xml:

<?xml version="1.0" encoding="UTF-8" ?>
<organization>
<bank>
<description>aaa</description>
<externalkey>123</externalkey>
<property name="pName" value="1234567890" />
</bank>
</organization>

我为此 xml 使用了 JAXB 和解码,我可以获得描述和外部 key 。但是我无法获得具有值的属性名称。

  • 这是我用于解码的 java 类:

    JAXBContext jb = JAXBContext.newInstance(Organization.class);
    Unmarshaller um = jb.createUnmarshaller();
    Organization org = (Organization) um.unmarshal(new File("\\upload\\bank999999.xml"));
    System.out.println(org.getBank().getDescription());
    System.out.println(org.getBank().getExternalkey());
  • 组织.java

    @XmlRootElement
    public class Organization {
    Bank bank = new Bank();

    public Bank getBank() {
    return bank;
    }

    public void setBank(Bank bank) {
    this.bank = bank;
    }
    }
  • 银行.java

    @XmlRootElement
    public class Bank {
    private String description;
    private String externalkey;
    private String property;

    //..GETTER and SETTER
    }

    如何获取属性名称和值?谢谢你

最佳答案

银行

您需要将 property 属性从 String 更改为域对象。

@XmlAccessorType(XmlAccessType.FIELD)
public class Bank {
private String description;
private String externalkey;
private Property property;
}

属性(property)

那么您的 Property 对象将类似于:

@XmlAccessorType(XmlAccessType.FIELD)
public class Property {

@XmlAttribute
private String name;

@XmlAtrribute
private String value;

}

关于java - 如何使用 JAXB 获取 xml 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15000086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com