当您指定标签时,我在 getElementsByTagName 上搜索并获得了大量结果,但对于我的特定问题却一无所获。
在文档中它说
参数:
tagname - 要匹配的标签的名称。特殊值“*”匹配所有标签。对于 XML,tagname 参数区分大小写,否则取决于使用的标记语言的区分大小写。
我对此的理解是,如果我将参数设置为“设置”,它将返回所有带有设置标签的元素。这很好用,但是,这两个语句都给我错误,我不明白为什么?
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);
}
}
}
}