选择名为 Element1 的文档中所有元素的所有属性://Element1/@*
. 这将返回一个包含属性节点的节点集。然后,您可以迭代节点集。
如果您已经有一个上下文节点并希望在其下查找结果,则查询将为.//Element1/@*
. 这通常比查询整个文档更有效。
// input is an InputSource or a DOM node
NodeList nl = (NodeList) xpath.evaluate("//Element1/@*", input, XPathConstants.NODESET);
int length = nl.getLength();
for( int i=0; i<length; i++) {
Attr attr = (Attr) nl.item(i);
String name = attr.getName();
String value = attr.getValue();
}
使用getElementsByTagName查找给定名称的所有元素可能更有效。
NodeList nl = document.getElementsByTagName("Element1");
要获取特定元素的属性,请迭代其attributes属性。
NamedNodeMap nl = element.getAttributes();
int length = nl.getLength();
for( int i=0; i<length; i++) {
Attr attr = (Attr) nl.item(i);
String name = attr.getName();
String value = attr.getValue();
}