xPathTest.html(测试页面)
其中loadxmldoc.js和book.xml 和
XML 学习(三) DOM 解析- Node 对象的属性 一篇中一样;
<html>
<head>
<script src="../loadxmldoc.js"></script>
<script>
var xmlDoc = loadXMLDoc("../book/book.xml");
//只有XML解析器的一个实例才能调用 selectNodes() ???
var x=xmlDoc.selectNodes("/bookstore/book");//bookstore元素下的所有book子元素
//var x=xmlDoc.selectNodes("bookstore");//获得bookstore元素
//var x=xmlDoc.selectNodes("book");//什么都没获得????
//var x=xmlDoc.selectNodes(".");//获得当前元素,
//var x=xmlDoc.selectNodes("node()");//获得 所有元素,包括文档声明;
//var x=xmlDoc.selectNodes("//author");//获得文档中所有的author元素;
//var x=xmlDoc.selectNodes("/bookstore/book[2]/author[2]");//bookstore第三个book子元素的第三个author元素
//var x=xmlDoc.selectNodes("//@category");//获得有属性category的所有元素
//var x=xmlDoc.selectNodes("/bookstore/book[last()]");//position()<3 报错 函数不存在???
//var x=xmlDoc.selectNodes("/bookstore/book[@category='WEB']/author");
//bookstore的子元素中category属性为WEB的所有book元素的author元素
//var x=xmlDoc.selectNodes("/bookstore/book/*");//bookstore子元素中book的所有子元素
//var x=xmlDoc.selectNodes("//*");//获得文档元素
//var x=xmlDoc.selectNodes("//title | //price");//所有的title元素和所有的price元素
for(i=0;i<x.length;i++)
{
document.write("<xmp>" + x.item(i).xml + "</xmp>");
document.write("<br/>");
}
</script>
</head>
</html>
其中主要用到了 xPath 语法和少量的运算符;
关于坐标轴,函数测试都报错;