【问题标题】:java DOM XML parser getElementsByTagName() not workingjava DOM XML解析器getElementsByTagName()不起作用
【发布时间】:2014-09-24 10:32:45
【问题描述】:

我正在按照一些教程来制作 XML 解析器..

我无法更进一步,因为它说方法 getElementsByTagName() 未为 Document 类型定义。

我做错了什么?

import org.jdom2.Document;
import org.jdom2.input.SAXBuilder;
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;
import org.w3c.dom.Element;

public class Parser {

public static void main(String[] args) {

    try {
        SAXBuilder parser = new SAXBuilder();
        Document doc =  
         parser.build("http://developerlife.com/xmljavatutorial1/AddressBook.xml");


        NodeList listOfPersons = doc.getElementsByTagName("PERSON"); 
        int numberOfPersons = listOfPersons.getLength();

    } catch (Exception e){}


  }
}

【问题讨论】:

  • 请显示xml文件
  • 您访问了错误的 Document 类。请按如下方式导入:import org.w3c.dom.Document
  • 链接在代码中..@pd30*
  • @ipinyol 我也试过了,没用。

标签: java xml xml-parsing


【解决方案1】:

您首先需要引用文档的根元素。试试这个:

    Element root = doc.getDocumentElement();
    NodeList listOfPersons = root.getElementsByTagName("PERSON"); 

【讨论】:

    【解决方案2】:

    您的 Element 类正在使用 DOM,而您的 Document 类正在使用 JDOM2。目前尚不清楚您的意图是使用 DOM 还是 JDOM2,但我怀疑您是否打算混合使用它们。检查您的导入语句。

    (如果您还没有决定,JDOM2 更可取。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-24
      • 1970-01-01
      • 2012-08-06
      • 1970-01-01
      • 2012-11-18
      • 2012-01-10
      相关资源
      最近更新 更多