Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 要为getElementsByTagName()使用特殊值(*)_Java_Xml_Xml Parsing - Fatal编程技术网

Java 要为getElementsByTagName()使用特殊值(*)

Java 要为getElementsByTagName()使用特殊值(*),java,xml,xml-parsing,Java,Xml,Xml Parsing,当您指定标记时,我在getElementsByTagName上搜索并获得了大量结果,但对于我的特定问题却没有任何结果 在文件中说 参数: 标记名—要匹配的标记的名称。特殊价值* 匹配所有标记。对于XML,标记名参数区分大小写, 否则,这取决于中标记语言的大小写敏感度 使用 我的理解是,如果将参数设置为setting,它将返回所有带有设置标记的元素。这很好,但是,这两种说法都给了我错误,我不明白为什么 NodeList nodeList = document.getElementsByTagNam

当您指定标记时,我在getElementsByTagName上搜索并获得了大量结果,但对于我的特定问题却没有任何结果

在文件中说

参数:

标记名—要匹配的标记的名称。特殊价值* 匹配所有标记。对于XML,标记名参数区分大小写, 否则,这取决于中标记语言的大小写敏感度 使用

我的理解是,如果将参数设置为setting,它将返回所有带有设置标记的元素。这很好,但是,这两种说法都给了我错误,我不明白为什么

NodeList nodeList = document.getElementsByTagName(*);

NodeList nodeList = document.getElementsByTagName("*");
我只是没有正确理解文档,还是

第一条语句给我一个语法错误,第二条语句给我一个NullPointerException

public static void main(String args[]) throws Exception {

    String path = "path";
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
    Document document = db.parse(path);
    NodeList nodeList = document.getElementsByTagName("setting");
    String value = null;
    if (nodeList.getLength() > 0 && nodeList.item(0).hasChildNodes()) {  
    for(int x=0, size= nodeList.getLength(); x<size; x++) {
        System.out.println(nodeList.item(x).getAttributes().getNamedItem("name").getNodeValue());
           value = nodeList.item(x).getFirstChild().getNodeValue();
            System.out.println(value);
    }
   }
}

}您正在测试第一个元素是否有子元素,但循环中的代码假定所有元素都有子元素。您需要在循环中测试它。

如果需要更具体的说明,请告诉我错误。第一个是显而易见的-不会编译。抱歉。我已经编辑了这个问题以包含更多的细节,现在我看起来很愚蠢-我已经删除了我的答案。NullPointerException在哪一行?好的,我仔细检查了一下,它让我意识到NullPointerException实际上在if语句中的打印位置。我认为这是因为我获取了xml文件中的所有元素,但试图用名称指定这些元素,而不是所有元素都有名称