我需要提取 xml 文件并打印节点子节点内的数据,就好像它们是表中的行一样。我不能使用特定的标签名称,因为我将解析具有不同标签名称的多个 xml 文件。
我的xml文件示例:
<students>
<student>
<name>John</name>
<age>25</age>
<sex>M</sex>
</student>
<student>
<name>Matthew</name>
<age>23</age>
<sex>M</sex>
</student>
</students>
这是我到目前为止尝试过的:
Element root = doc.getDocumentElement();
Node child = root.getFirstChild();
while (child.getNextSibling () != null) {
child = child.getNextSibling();
if (child.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) child;
NodeList subChild = eElement.getChildNodes();
for (int i = 0; i < subChild.getLength(); i++) {
Node subChildNode = subChild.item(i);
if (subChildNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement2 = (Element) subChildNode;
System.out.print(eElement2.getTextContent() + "\t");
}
}
}
}
结果将是:
John 25 M Matthew 23 M
或者如果我使用 println 而不是 print:
John
25
M
Matthew
23
M
这样怎么弄?每个学生节点一次打印一行?
John 25 M
Matthew 23 M