java DOM XML解析器getElementsByTagName()不起作用

时间:2014-09-24 10:32:46

标签: java xml xml-parsing

我正在学习一些教程来制作XML Parser ..

我无法进一步说明,因为它表示方法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){}


  }
}

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

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

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