第3章文档查询和转换理论优秀PPT.ppt
《第3章文档查询和转换理论优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第3章文档查询和转换理论优秀PPT.ppt(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3章文档查询和转章文档查询和转换理论换理论现在学习的是第1页,共32页课程回顾课程回顾u文档对象模型(DOM)定义了访问诸如 XML 和 XHTML 文档的标准uW3C组织为DOM规范定义了3个级别:nDOM级别1nDOM级别2nDOM级别3uXML文档中每一个单元(元素、属性、实体、备注等)都是节点uXML DOM 把 XML 文档视为一种树结构,即节点树。节点之间的关系包括父节点、子节点、同级节点、前一个节点和后一个节点uXML Document对象的load()方法用于加载XML文档,loadXML()方法用于加载XML字符串uXML DOM对象中常用的操作XML文档节点的方法和属性
2、包括:ngetElementsByTagName()nappendChild()ninsertBefore()ncreateElement()nremoveChild()nnodeTypennodeValuennodeName现在学习的是第2页,共32页本章内容本章内容uXPathuXQueryuXSLT现在学习的是第3页,共32页本章目标本章目标u了解XPath的基本语法u能够使用XPath选择节点u能够使用XQuery FLWOR表达式查询XML文档u能够使用XSLT转换简单的XML文档现在学习的是第4页,共32页1.XPath 1.1 XPath简介 uXPath是在XML文档中查找信息
3、的路径语言uXPath 使用路径表达式在 XML 文档中进行导航uXPath 包含一个标准函数库uXPath 是 XSLT(可扩展的样式表语言转换)中的主要元素uXPath 是W3C 标准xmlDoc.selectNodes(/bookstore/book)XPath路径表达式现在学习的是第5页,共32页1.2 XPath语法语法 uXPath运算符 运算符描述示例表达式示例表达式的返回值|计算两个节点集/student|/teacher返回所有带student元素和teacher元素的节点集+加2+35-减5-23*乘2*36div除6 div 32=等于price=15.5true或fal
4、se!=不等于price!=15.5true或false小于price15.5true或false=小于或等于price大于price15.5true或false=大于或等于price=15.5true或falseor或price=15 or price=10true或falseand与price15 and price20true或falsemod计算除法的余数6 mod 30现在学习的是第6页,共32页XPath语法语法 uXPath选择节点 u路径选择 表达式描述示例返回结果nodename选取此节点的所有子节点bookstore选取 bookstore 元素的所有子节点/从根节点选取,
5、即绝对路径选择/bookstore选取根元素 bookstore/从选择的当前节点匹配选择文档中的节点,即相对路径选择/book选取所有 book 子元素,而不管它们在文档中的位置,不分层次.选取当前节点bookstore/book选取所有属于 bookstore 的子元素的 book 元素.选取当前节点的父节点bookstore/book选择所有属于 bookstore 元素的后代的 book 元素,而不管它们位于 bookstore 之下的什么位置选取属性/lang选取所有名为 lang 的属性现在学习的是第7页,共32页XPath语法语法 uXPath选择节点 u使用谓词 路径表达式(内
6、属于谓词)返回结果/bookstore/book0bookstore 子元素的第一个 book 元素/bookstore/booklast()bookstore 子元素的最后一个 book 元素/bookstore/booklast()-1bookstore 子元素的倒数第二个 book 元素/bookstore/bookposition()30.00所有 bookstore 元素的 book 元素,且其中的 price 元素的值须大于 30.00/bookstore/bookprice30.00/title所有 bookstore 元素中的 book 元素的 title 元素,且其中的 pr
7、ice 元素的值须大于 30.00var nodes=xmlDoc.selectNodes(/bookstore/book1)现在学习的是第8页,共32页XPath语法语法 uXPath选择节点 u使用通配符和“|”运算符n*:匹配任何元素节点 n*:匹配任何属性节点 nnode():匹配任何类型的节点 n|:选择多条路径 var nodes=xmlDoc.selectNodes(/title*)匹配所有带属性的title节点现在学习的是第9页,共32页1.3 XPath轴轴 uXPath Axes用于定义所选节点与当前节点之间的树关系轴名称说明ancestor选取当前节点的所有先辈(父、祖父
8、等)ancestor-or-self选取当前节点的所有先辈(父、祖父等)以及当前节点本身attribute选取当前节点的所有属性child选取当前节点的所有子元素descendant选取当前节点的所有后代元素(子、孙等)descendant-or-self选取当前节点的所有后代元素(子、孙等)以及当前节点本身following选取文档中当前节点的结束标签之后的所有节点namespace选取当前节点的所有命名空间节点parent选取当前节点的父节点preceding选取文档中当前节点的开始标签之前的所有节点preceding-sibling选取当前节点之前的所有同级节点self选取当前节点att
9、ribute选择当前元素的属性现在学习的是第10页,共32页XPath轴轴 u步表达式轴名称:节点测试谓词 nchild:book:选取所有属于当前节点的子元素的 book 节点nattribute:lang:选取当前节点的 lang 属性nchild:*:选取当前节点的所有子元素nattribute:*:选取当前节点的所有属性nchild:text():选取当前节点的所有文本子节点nchild:node():选取当前节点的所有子节点ndescendant:book:选取当前节点的所有 book 后代节点nancestor:book:选择当前节点的所有 book 先辈节点nancestor-o
10、r-self:book:选取当前节点的所有book先辈节点以及当前节点(假如此节点是book节点的话)nchild:*/child:price:选取当前节点的所有 price 孙节点现在学习的是第11页,共32页XPath轴轴 xmlDoc.SelectNodes(/item-info/descendant:item-name);查询所有以item-info为祖先节点的item-name节点 xmlDoc.SelectNodes(/order/item/quantity/preceding-sibling:*);xmlDoc.SelectNodes(/order/item/ancestor-o
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 文档 查询 转换 理论 优秀 PPT
限制150内