XPath总结

XPath(XML路径语言),是查询XML元素和属性位置的语言,用路径表达式来选取XML元素或属性。

1、XPath语法

XPath语法 说明
/ 从根元素选取
// 从全文档选取
. 当前元素
.. 父元素
@ 属性
* 匹配任何元素
@* 匹配任何属性
node() 匹配任何类型元素

2、XPath实例

Xml文档(ABCD.xml)

<A>
    <B id='b'>
        <C id='c'>
            <D>xxx</D>
        </C>
    </B>
    <B>
        <C>
            <D>ddd</D>
        </C>
    </B>    
</A>
XPath实例 说明
/A/B/C 所有A下的B下的所有CCC元素
/A/B/* A下B下所有元素
/A/B[2] A下第二个B元素
/A/B[last()] A下最后一个B元素
//A 全文档所有A元素
//* 全文档所有元素
//@id 所有名为id的属性
//B[@id] 所有具有id属性的B元素
//B[@*] 所有具有属性的B元素
//B[not(@*)] 所有不存在属性的B元素
//B[@id=’b’] 所有属性值为b的B元素

3、JavaScript应用Xpath的实例

<!DOCTYPE html>
<html><body><script> // 加载Xml文档,针对大多数浏览器 var xmlhttp=new XMLHttpRequest(); // 针对IE浏览器(被微软淘汰了) var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");  xmlhttp.open("GET","ABCD.xml",false); xmlhttp.send(""); xmlDoc = xhttp.responseXML; // 选取节点,针对大多数浏览器 xpath = "/A/B/C/D"; var nodes = xmlDoc.evaluate(xpath,xmlDoc,null,XPathResult.ANY_TYPE,null); // 针对IE浏览器(被微软淘汰了) xmlDoc.selectNodes(xpath);  // 输出结果 document.write(nodes[0].childNodes[0].nodeValue); </script></body></html>

GitHub博客:http://lioil.win/2017/01/13/XPath.html
Coding博客:http://c.lioil.win/2017/01/13/XPath.html

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念