JAXB:如何列出具有不同标记名的相同子元素
我有以下格式的XML:JAXB:如何列出具有不同标记名的相同子元素,jaxb,unmarshalling,Jaxb,Unmarshalling,我有以下格式的XML: <servers> <server_1> <name>S1</name> <user>User1</user> <pass>pass1</pass> </server_1> <server_2> <name>S2</nam
<servers>
<server_1>
<name>S1</name>
<user>User1</user>
<pass>pass1</pass>
</server_1>
<server_2>
<name>S2</name>
<user>User2</user>
<pass>pass2</pass>
</server_2>
<server_3>
<name>S3</name>
<user>User3</user>
<pass>pass3</pass>
</server_3>
</servers>
所以我不确定这样使用ElementsImpl是否合适。有多少种可能的不同名称?可以列举一下吗?如果是,那么
@xmlementref
是一种方法。@lexicore您是指标记名吗?它们的格式将为server_u[index]。其中索引将是1-50之间的小数。并且可以有多达50个子元素。下划线后面的这些索引将是线性连续顺序
..
..
@XmlAnyElement
public List<ElementNSImpl> getServer() {
return server;
}
..
..
public void printElem() {
if(server!=null) {
for(ElementNSImpl serverEntry :server) {
NodeList nodeList= ftpEntry.getChildNodes();
System.out.println("length:"+nodeList.getLength());
for(int i=0;i<nodeList.getLength()-1;i++)
System.out.println(nodeList.item(i).getNodeName()+" :"+nodeList.item(i).getTextContent());
}
}
}
Access restriction: The type 'ElementNSImpl' is not API (restriction on required library 'C:\Program Files (x86)\Java\jre1.8.0_171\lib\rt.jar')