Java dom document.getElementsByTagName ("") 返回 null?

标签 java xml null document getelementsbytagname

我有一个 xml 如下:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<bookshelf>
    <book ISBN="a01" press="AD press"/>
    <book ISBN="a11" press="BC press">
        <book>JavaSE</book>
        <Author>John</Author>
        <price>35.00</price>
    </book>
    <book ISBN="b11" press="XY press">
        <book>Android</book>
        <Author>Smith</Author>
        <price>35.00</price>
    </book>
</bookshelf>

一个简单的 Java dom 程序如下:

    System.out.println(currentPath);
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = factory.newDocumentBuilder();
    Document document = builder.parse(currentPath + "/book.xml");
    Node node = document.getElementsByTagName("").item(1);
    System.out.println(node);

(1) 它打印出“null”,为什么?

(2) 我在 google 上搜索并找到了很多调用 document.getElementsByTagName("") 的示例代码,我想知道 ""是否代表根元素或其他元素?

非常感谢。

最佳答案

(1) 它打印出“null”,为什么? 标签名称 ("") 为空。请提供给定 xml 文件中包含的任何合适的标签名称(“book”)

(2) 用于获取根元素的名称。这是根元素的返回名称

document.getDocumentElement().getNodeName();

关于Java dom document.getElementsByTagName ("") 返回 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53587297/

相关文章:

java - Java中如何计算两个事件之间的时间差?

java - 如何配置 OpenEJB 日志记录?

java - 将xml文档导入到jaxb创建的实体结构中

php - 需要借助 xsl/xslt 将重复的 XML 节点放在单独的节点中

c++ - 标准文本文件是否以 NULL 结尾?

java - 为什么我不能将 final long 分配给 int?

Java 字节码反编译——存在未使用的方法?

Python XML-获取两个节点之间的内容

C# 使用 webbrowser 文档文本,文档保持为空

powershell - ArrayList 中的空元素导致 'Cannot bind argument to parameter' 错误