XPath 由上下文节点定义其起始点,上下文节点在计算路径时作为 XML文档的当前节点 一个定位路径由一个或者多个定位阶组成中间用“P隔开 定位阶: n由轴芹点测减零个或多个谓词构成 定义了遍历XML文档层次结构的方向,在标准中定义了13 个轴 艿点测試用于提炼和过滤轴方向上的节点集合指定所选节 点的类型并确定节点的扩展名如果有的话) 谓词如果有的话,则用来在上下文节点轴和节点测试之后 进一步提炼节点集合
XPath ◼ 由上下文节点定义其起始点,上下文节点在计算路径时作为 XML文档的当前节点 ◼ 一个定位路径由一个或者多个定位阶组成,中间用“/”隔开 ◼ 定位阶: ◼ 由轴,节点测试,零个或多个谓词构成 ◼ 轴定义了遍历XML文档层次结构的方向,在标准中定义了13 个轴 ◼ 节点测试用于提炼和过滤轴方向上的节点集合,指定所选节 点的类型,并确定节点的扩展名(如果有的话) ◼ 谓词如果有的话,则用来在上下文节点,轴和节点测试之后 进一步提炼节点集合
XPath Xpath定位节点两步曲 由轴和节点测试产生初始节点集,生成节点与基准芹 点的关系由瓶规定,芹点类至和扩展名称由节点测试 来规定 依次通过谓词的限制对初始节点集进行选择和过滤 chid:para[ attribute:type=“ Warning”] 若点测试 谓词
XPath ◼ Xpath定位节点两步曲 ◼ 由轴和节点测试产生初始节点集,生成节点与基准节 点的关系由轴规定,节点类型和扩展名称由节点测试 来规定 ◼ 依次通过谓词的限制对初始节点集进行选择和过滤. Child::para [attribute::type = “warning”] 轴 节点测试 谓词
XPath XPath语法: 缩写语法vs.非缩写语法 非缩写语法将轴名与节点测试用一对冒号隔开谓 词跟随在后谓词都用方括号括起可以没有 child: paralposition(=2] 缩写语法用一些特殊操作符表示一些基本的轴 所有表达式都可以使用非缩写语法表示大部分常用语 法都可以用缩写语法表示 例:chd: div/child:para可以缩写为 div/para
XPath ◼ XPath语法: ◼ 缩写语法 vs. 非缩写语法 ◼ 非缩写语法将轴名与节点测试用一对冒号隔开,谓 词跟随在后,谓词都用方括号括起,可以没有 ◼ child::para[position()=2] ◼ 缩写语法用一些特殊操作符表示一些基本的轴 ◼ 所有表达式都可以使用非缩写语法表示,大部分常用语 法都可以用缩写语法表示 ◼ 例: child::div/child::para可以缩写为div/para
XPath 7种节点类型: 根节点 元素节点 其子节点可以为元素节点处理指令节点,文本节点 文本节点 属性节点 元素节点是其属性节点的父节点 属性节点不是其元素节点的子节点
XPath ◼ 7种节点类型: ◼ 根节点 ◼ 元素节点 ◼ 其子节点可以为元素节点, 处理指令节点,文本节点 ◼ 文本节点 ◼ 属性节点 ◼ 元素节点是其属性节点的父节点 ◼ 属性节点不是其元素节点的子节点
XPath 命名空间节点 元素节点是其命名空间节点的父节点 命名空间节点不是其元素节点的子节点 处理指令节点 注释节点 文档顺序概念: ■原始文档中起始标记的顺序 一个节点在其前面的同胞节点后,子节点在父节点后
XPath ◼ 命名空间节点 ◼ 元素节点是其命名空间节点的父节点 ◼ 命名空间节点不是其元素节点的子节点 ◼ 处理指令节点 ◼ 注释节点 ◼ 文档顺序概念: ◼ 原始文档中起始标记的顺序 ◼ 一个节点在其前面的同胞节点后,子节点在父节点后