我试图在解码和 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/