JS总结--(XML和Xpath) .
来源:互联网 发布:kindle for mac 下载 编辑:程序博客网 时间:2024/04/28 22:28
五、解析xml文件和字符串
ie中: xmlDoc = new ActionXObject("Microsoft.XMLDOM");
xmlDoc.async = "false";
xmlDoc.load("books.xml"); //xmlDoc.loadXml(txt);
ff中:xmlDoc = document.implementation.createDocument("","",null);
xmlDoc.async = "false"; (关闭异步加载,确保在文档完整加载之前,解析器不会继续执行脚本)。
xmlDoc.load("books.xml");
//parser = new DOMParser();
//xmlDoc = perser.parseFromString(txt,"text/xml");
六、
1、获取: nodeValue 获取节点的文本值。
getAttribute() 返回属性的值。
getAttributeNode() 返回属性的节点。
eg: xmlDoc.getElementsByTagname("title")[0].getAttribute("lang");
xmlDoc.getElementsByTagname("title")[0].getAttributeNode("lang").nodeValue;
2、改变: setAttribute()
3、删除: removeChild,removeAttribute()
4、替换: replaceChild(), 通过nodaValue替换。
5、创建: eg: new = xmlDoc.createElment("edition");
xmlDoc.getElementsByTagname("book").appendChild(new);
createAttribute()
eg: newatt = xmlDoc.creatAttribute("edition");
newatt.nodeValue = "first";
xmlDoc.getAttributeByTagname("title").setAttributeNode(newatt);
setAttribute()
eg: xmlDoc.getElementsByTagname("title").setAttribute("edition","first");
creatTextNode()
eg: newel = xmlDoc.creatElement("edition");
newtext = xmlDoc.createTextNode("first");
newel.appendChild(newtext);
xmlDoc.getElementsByTagname("book")[0].appendChild(newel);
creatCDATASection()
creatComment()
6、添加节点: appendChild()
插入节点: insertBefore()
eg: newnode = xmlDoc.creatElement("book");
xmlDoc.documentElement.insertBefore(newnode,xmlDoc.getElementsByTagname("book")[3]);
x.insertBefore(newnode,null) 和x.appendChild(newNode) 可向x追加一个子节点。
insertData() 将数据插入到已有的文本节点中。
eg: x = xmlDoc.getElementsByTagname("title")[0].childNodes[0];
x.insertData(0,"hello");
cloneNode()
七、Xpath
实例
在下面的表格中,我们已列出了一些路径表达式以及表达式的结果:
选取根元素 bookstore
注释:假如路径起始于正斜杠( / ),则此路径始终代表到某元素的绝对路径!
bookstore/book选取所有属于 bookstore 的子元素的 book 元素。//book选取所有 book 子元素,而不管它们在文档中的位置。bookstore//book选择所有属于 bookstore 元素的后代的 book 元素,而不管它们位于 bookstore 之下的什么位置。//@lang选取所有名为 lang 的属性。谓语(Predicates)
谓语用来查找某个特定的节点或者包含某个指定的值的节点。
谓语被嵌在方括号中。
实例
在下面的表格中,我们列出了带有谓语的一些路径表达式,以及表达式的结果:
选取未知节点
XPath 通配符可用来选取未知的 XML 元素。
实例
在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果:
选取若干路径
通过在路径表达式中使用“|”运算符,您可以选取若干个路径。
实例
在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果:
XPath 轴
轴可定义某个相对于当前节点的节点集。
位置路径表达式
位置路径可以是绝对的,也可以是相对的。
绝对路径起始于正斜杠( / ),而相对路径不会这样。在两种情况中,位置路径均包括一个或多个步,每个步均被斜杠分割:
绝对位置路径:
/step/step/...
相对位置路径:
step/step/...
每个步均根据当前节点集之中的节点来进行计算。
步(step)包括:
- 轴(axis)
- 定义所选节点与当前节点之间的树关系
- 节点测试(node-test)
- 识别某个轴内部的节点
- 零个或者更多谓语(predicate)
- 更深入地提炼所选的节点集
步的语法:
轴名称::节点测试[谓语]
实例
- JS总结--(XML和Xpath) .
- JS总结4--(XML和Xpath)
- xml和xpath
- 简述XML和XPath
- XML、DTD、XPATH要点总结
- XML和XPath使用方法备忘
- xpath和dom4j解析xml
- XML学习总结-XPATH技术-(二)
- 总结使用dom4j和xpath对xml文件的增删改查
- XML - XPath
- XPath、XML
- xml-xpath
- xml---xpath
- 用xpath解决字符串和xml
- java 使用xpath解析xml和html
- XML和XPath使用方法备忘(转载)
- Dom4j和XPath的XML解析技术
- JS XPATH
- LeetCode-Remove Element
- Maven系列一:基础知识
- 【数据库系列】之《视图与基本表的区别》
- 面向对象和面向过程的区别--- 如何利用面向对象特性美化代码, 分层 ;
- iptables学习 03 端口转发
- JS总结--(XML和Xpath) .
- Linux USB无线网卡驱动相关资料收集
- getopt模块之getopt与gnu_getopt的不同
- SDJZU-Oil Deposit
- jquery中子元素和后代元素的区别
- 基于mAppWidget实现手绘地图(十二)--显示当前用户位置
- Maven系列二:利用Nexus搭建私服
- Combination Sum II
- Maven系列三:生命周期和插件