从Xpath获取属性

时间:2013-01-23 11:04:20

标签: java xml xpath

我需要一个方法可以返回指定xpath中指定属性的值。因此,例如,如果我们有xpath = /root/foo/body/part[5]/test[3]并且我们想要xpath的id标记内的属性test[3]的值,那么我需要能够调用看起来像这样的方法:

public String getAttributeValue(String xpath, String attribute) {
     String attributeValue = "xpath/attribute".value();
     return attributeValue;
}

2 个答案:

答案 0 :(得分:3)

您可以尝试使用@命令

//xpath[@attribute]

请注意,您也可以使用@

进行过滤
//xpath[@attribute='filtervalue']

答案 1 :(得分:1)

想出来......

public String retrieveAttributeValue(Document document, String xpath, String attribute) throws IOException, ParserConfigurationException, SAXException, XPathExpressionException {
    XPath xPath = XPathFactory.newInstance().newXPath();
    XPathExpression xPathExpression = xPath.compile(xpath + "/" + attribute);
    String attributeValue = "" + xPathExpression.evaluate(document, XPathConstants.STRING);
    return attributeValue;
}