我试图读取学校项目的xml文件,我需要阅读信息并发送到正确的课程后
该行:
`<node_list>
<node id="n0"/>
<node id="n1"/>
<node id="n2"/>
</node_list>`
我想得到n0,n1,n2 ......但我不知道怎么......
该项目使用java语言和DOM XML Parser libraby。
我已经尝试了getAttribute("id")
和getElementsByTagName("id").item(0).getTextContent()
,但仍然没有结果:
NodeList listNode = doc.getElementsByTagName("node_list");
for (int temp2 = 0; temp2 < listNode.getLength(); temp2++) {
Node node = listNode.item(temp2);
System.out.println("\nCurrent Element :" + node.getNodeName());
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) node;
//System.out.println("Node id : " + eElement.getAttribute("id"));
//System.out.println("Node ID : " + eElement.getElementsByTagName("id").item(0).getTextContent().trim());
}
}
感谢您给编码员提供的任何帮助;)
答案 0 :(得分:3)
问题出在这一行
Node node = listNode.item(temp2);
节点是node_list
元素,但不是node
元素。
您可以直接获取node
元素列表,代码显示以下内容。
NodeList listNode = doc.getElementsByTagName("node");
for (int temp2 = 0; temp2 < listNode.getLength(); temp2++) {
Node node = listNode.item(temp2);
System.out.println("\nCurrent Element :" + node.getNodeName());
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) node;
System.out.println("Node id : " + eElement.getAttribute("id"));
}
}
最后,我建议W3school网站学习XML DOM:XML DOM Tutorial
答案 1 :(得分:0)
试试这个:
NodeList nodeList = doc.getElementsByTagName("node_list");
for(int i = 0; i < nodeList.getLength(); i++)
{
Node node = nodeList.item(i);
NodeList nodeListChildNodes = node.getChildNodes();
for(int j = 0; j < nodeListChildNodes.getLength(); j++)
{
Node child = nodeListChildNodes.item(j);
if("node".equals(child.getNodeName()))
{
System.out.println(child.getAttributes().getNamedItem("id"));
}
}
}