有多种方法可以做到这一点。您可以使用xPath(示例),DOM
document或SAX Parser(示例)来检索属性值和标记元素。
这是您要求的解决方法。我从不建议使用“ hack”类型,而是使用SAX(请参见示例链接)。
public static Element getElementByAttributevalue(Node rootElement, String attributevalue) { if (rootElement != null && rootElement.hasChildNodes()) { NodeList nodeList = rootElement.getChildNodes(); for (int i = 0; i < nodeList.getLength(); i++) { Node subNode = nodeList.item(i); if (subNode.hasAttributes()) { NamedNodeMap nnm = subNode.getAttributes(); for (int j = 0; j < nnm.getLength(); j++) { Node attrNode = nnm.item(j); if (attrNode.getNodeType == Node.ATTRIBUTE_NODE) { Attr attribute = (Attr) attrNode; if (attributevalue.equals(attribute.getValue()) { return (Element)subNode; } else { return getElementByAttributevalue(subNode, attributevalue); } } } } } } return null;}PS: 未提供代码注释。它是作为练习给读者的。:)



