【问题标题】:parse xml file in java在java中解析xml文件
【发布时间】:2016-01-28 18:30:24
【问题描述】:

我想在 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

我的问题是什么?

【问题讨论】:

  • 你还没有说为什么你得到的输出是错误的,或者你期望得到什么。在我们知道您打算发生什么之前,我们无法提供帮助。
  • @Jim Garrison 我想计算这段代码中的节点元素。实际上员工人数为 2,但显示为 5。为什么?

标签: java xml dom


【解决方案1】:

您可能需要确保您获取的节点属于类型元素,否则,空格可能会以与元素相同的方式计算。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-26
    • 1970-01-01
    • 2012-09-11
    相关资源
    最近更新 更多