2014-09-24 4 views
0

Я следую некоторые учебники, чтобы сделать XML Parser ..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

пожалуйста, покажите файл XML – pd30

+1

вы подключаетесь неверный класс документа. Пожалуйста, импортируйте как следует: import org.w3c.dom.Document – ipinyol

+0

ссылка находится в коде .. @ pd30 * –

ответ

2

Прежде всего вам нужно обратиться к корневому элементу вашего документа. Попробуйте следующее:

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

Класс Element использует DOM, в то время как ваш класс Document использует JDOM2. Неясно, намерены ли вы использовать DOM или JDOM2, но я сомневаюсь, что вы намеревались их смешивать. Проверьте свои операторы импорта.

(Если вы еще не решили, JDOM2 гораздо предпочтительнее.)

Смежные вопросы