解析java中的xml文件

时间:2016-01-28 18:30:24

标签: java xml dom

我想在java中解析xml文件。我的代码就是这个。但运行时,错误的数据出现在控制台中。我的xml文件,例如

    <set>
   <employe>
     <name>reza</name>
     <id>1</id>>
    </employe> 
   <employee>
      <name>ali</name>
      <id>2</id>
   </employee>
    </set>

我的代码是这样的:

 DocumentBuilderFactory factory = DocumentBuilderFactory
                            .newInstance();
 DocumentBuilder builder = factory.newDocumentBuilder();
 Document document = builder.parse(file.toFile());
 Element root = document.getDocumentElement();
 if (!root.hasChildNodes()) {
    paths.add(file);
 } else {
   System.out.println("Element Name in: "+file.getFileName());
   System.out.println("Root element: "
                       + "Total count: " + root.getChildNodes().getLength());
   for (int i = 0; i < root.getChildNodes().getLength(); i++) {
        Node node = root.getChildNodes().item(i);
        if (node.getChildNodes().getLength() != 0) {
            System.out.println("name: "+ node.getNodeName() + " size:"
                               + node.getChildNodes().getLength());
           }
         }
      }

并在控制台中显示此数据

 Element Name in: file.xml
 Root element: Total count: 5
 name: employe size:5
 name: employee size:5

我的问题是什么?

1 个答案:

答案 0 :(得分:0)

您可能需要确保您获得的节点属于type元素,否则,空格可能与元素的计数方式相同。