java DOM XML 解析器 getElementsByTagName() 不工作

标签 java xml xml-parsing

我正在按照一些教程来制作 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){}


  }
}

最佳答案

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

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

关于java DOM XML 解析器 getElementsByTagName() 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26014686/

相关文章:

java - 打印小字母的 ascii 代码

Java执行需要su的Linux命令?

java - 为不同的自定义列表再次重用 JScrollPane 的问题

java - XMLEventWriter 不写入输出流

java - 类型为通用类型参数的 JAXB 编码字段

php - 未捕获的异常 'DOMException',消息为 'Hierarchy Request Error'

xml-parsing - golang 中的多类型解码器

java - 在 Android 类 ID 和方法 ID 中从 C++ 调用 Java 方法

java - XmlMapper 在解析 LinkedHashMap 时缺少根

java - InputSource 和 InputStream 有什么区别?