XML读取Line属性

时间:2015-12-12 03:20:06

标签: java xml

我试图读取学校项目的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());

            }
        }

感谢您给编码员提供的任何帮助;)

2 个答案:

答案 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"));
            }
        }
    }