2014-09-24 58 views
0

我下面一些教程做一個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

回答

2

您首先需要引用文檔的根元素。試試這個:

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

您的Element類使用DOM,而您的Document類使用的是JDOM2。目前尚不清楚您的意圖是使用DOM還是JDOM2,但我懷疑您是否打算混合它們。檢查您的進口報表。

(如果您還沒有決定,JDOM2是非常理想的。)