我的问题是如何获取父节点的子节点。我这样做的原因是我有两个具有相同标签的元素 我想显示子节点的所有元素。我是XML Parsing的新手,所以我不知道那么多,我一直在使用DOM Parser。
我有以下xml文件
<Employees>
<Employee id=12121>
<Name> John </Name>
<Profession> Programmer </Profession>
<Age> 26 </Age>
</Employee>
<Employee id=121212>
<Name> Jack </Name>
<Profession> Analyst </Profession>
<Profession> Team Lead </Profession>
<Age/>
</Employee>
<Employee id=121241>
<Name> Emma </Name>
<Profession> Risk Analyst </Profession>
<Age> 29 </Age>
</Employee>
</Employees>
我想获得每个Employee节点的子节点列表
我在java中尝试了以下代码
/*The code above simple creates a DOM Builder I havent included it in*/
NodeList nList = dc.getElementsByTagName("Employee");
for (int i=0; i<nList.getLength(); i++){
Node nNode = nList.item(i);
NodeList childNodeList = nNode.getChildNodes();
}
Sample输出看起来
John profession is Programmer and is aged 26
Jack profession is Analyst and team lead
Emma profession is Risk Analyst and is aged 29
答案 0 :(得分:1)
你的代码看起来不错。你怀疑什么?
试试这个,n1是NodeList
for(int i=0;i<nl.getLength();i++){
Node n=nl.item(i);
if(n.getNodeType()==Node.ELEMENT_NODE){
System.out.println(n.getNodeName()+"\t"+n.getTextContent());
}
}