java - 在 Java 中解码为数组或 arrayList

标签 java xml jaxb marshalling unmarshalling

我试图在解码和 xml 文件后填充一个数组列表,但它解码为一个对象,我如何才能取出每个单独的项目并复制到其他东西,如数组?

我可以编码和解码,但除了一些内存地址等之外,无法从对象中得到任何东西。

这里是解码

try {

            File file = new File("xmlFiles/ipAdresses.xml");
            JAXBContext jaxbContext = JAXBContext.newInstance(IpAdressXmlHandler.class);

            Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
            IpAdressXmlHandler xmlList = (IpAdressXmlHandler) jaxbUnmarshaller.unmarshal(file);
            System.out.println(xmlList);

          } catch (JAXBException e) {
            e.printStackTrace();
          }

如何获取 xmlList 作为数组?或者我怎样才能把所有东西都拿出来?

IpAdressXmlHandler 类:

@XmlRootElement
public class IpAdressXmlHandler {


private String ipAdress;

@XmlElement
public String getIpAdress() {
    return ipAdress;
}


public void setIpAdress(String ipAdress) {
    this.ipAdress = ipAdress;
}

更新:xml 文件:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ipAdressXmlHandler>
<ipAdress>localhost</ipAdress>
</ipAdressXmlHandler>

稍后有多个 ip 地址,我需要将它们放在一个数组或数组列表中

最佳答案

public class IpAdressXmlHandler {

@XmlElement(name="ipAdress")
private String ipAdress;

public String getIpAdress() {
    return ipAdress;
}


public void setIpAdress(String ipAdress) {
    this.ipAdress = ipAdress;
}

@XmlRootElement(name="ipAdressXmlHandler")
public class IpAdressListXmlHandler {

@XmlElement(name="ipAdress")
private List<IpAdressXmlHandler> ipAdress;


public List<IpAdressXmlHandler> getIpAdressList() {
    return ipAdress;
}


public void setIpAdressList(List<IpAdressXmlHandler> ipAdress) {
    this.ipAdress = ipAdress;
}

使用 IpAdressListXmlHandler 类进行解码..

关于java - 在 Java 中解码为数组或 arrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30526833/

相关文章:

java - 安卓 : Parse XML with Sax failed (goes to exception)

java - 尝试将 XML 映射到 POJO 时出现 "unexpected element"

java - 如何通过jaxb bindings.xml区分重复元素

java - 如何从android studio创建一个jar文件

java - 我怎样才能制作一个youtube下载器和编译器

java - 如何修改 JTextPane 中的字母间距?

java - Spring security kerberos 适用于 xml 配置,但不适用于 Java 配置

java - 将证书 keystore 迁移到另一个 JVM

android - 获取值以在 Android 应用程序中以不同语言显示 - 本地化

jaxb - 解码单个元素列表失败