1 /** 2 * XPath获取属性值 3 * @param root 4 * @param xPath 5 * @return 6 */ 7 public static String getXPathAttributeValue(Element root, String xPath){ 8 XPathExpressionpp = XPathFactory.instance().compile(xPath,Filters.attribute()); 9 return pp.evaluateFirst(root).getValue();10 }11 12 /**13 * XPath获取节点值14 * @param root 主节点15 * @param xPath XPath字符串16 * @return 没有找到返回null17 */18 public static String getXPathText(Element root, String xPath){19 XPathExpression pp = XPathFactory.instance().compile(xPath,Filters.text());20 return pp.evaluateFirst(root).getText();21 }22 23 /**24 * XPath获取节点25 * @param root 主节点26 * @param xPath XPath字符串27 * @return 没有找到返回null28 */29 public static Element getXPathNode(Element root, String xPath){30 XPathExpression pp = XPathFactory.instance().compile(xPath,Filters.element());31 return pp.evaluateFirst(root);32 }33 34 /**35 * XPath获取节点集合36 * @param root 主节点37 * @param xPath XPath字符串38 * @return XPath得到的节点集合39 */40 public static List getXPathNodes(Element root, String xPath){41 XPathExpression pp = XPathFactory.instance().compile(xPath,Filters.element());42 return pp.evaluate(root);43 }
JDom2的Xpath的获取关键在XPathExpression、XPathFactory身上.