Java的DOM XML解析器的getElementsByTagName()不工作

问题描述:

我下面一些教程做一个XML解析器..Java的DOM XML解析器的getElementsByTagName()不工作

我不能得到futher,因为它说的方法的getElementsByTagName()是未定义类型的文件。

我做错了什么?

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){} 


    } 
} 
+0

请出示 – pd30 2014-09-24 10:41:42

+1

你访问了错误的文档类的XML文件。请输入如下: import org.w3c.dom.Document – ipinyol 2014-09-24 10:44:08

+0

链接在代码中.. @ pd30 * – 2014-09-24 10:46:45

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

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

您的Element类使用DOM,而您的Document类使用的是JDOM2。目前尚不清楚您的意图是使用DOM还是JDOM2,但我怀疑您是否打算混合它们。检查您的进口报表。

(如果您还没有决定,JDOM2是非常理想的。)