xmlXPATH详解课件

上传人:阳*** 文档编号:83552819 上传时间:2022-05-01 格式:PPT 页数:36 大小:781.50KB
返回 下载 相关 举报
xmlXPATH详解课件_第1页
第1页 / 共36页
xmlXPATH详解课件_第2页
第2页 / 共36页
xmlXPATH详解课件_第3页
第3页 / 共36页
点击查看更多>>
资源描述
xmlXPATH详解第七章第七章XPATHxmlXPATH详解q 什么是什么是XPATHq XPATH的基本语法的基本语法q XPath API类的介绍类的介绍q XPath API接口的介绍接口的介绍 xmlXPATH详解体验项目体验项目 在在XSL中引入中引入XPath来查询关于学生信息的文档中的如下内容:来查询关于学生信息的文档中的如下内容: 运行效果图运行效果图使用使用“|”操作符显示所有的姓名和年龄。操作符显示所有的姓名和年龄。 使用通配符使用通配符“*”显示所有的字符数据。显示所有的字符数据。 使用通配符使用通配符“*”显示所有的姓名。显示所有的姓名。 显示学生的数量,判断电话或手机号码显示学生的数量,判断电话或手机号码是否包含是否包含“8”、学生是否姓、学生是否姓“李李”。显示所有的编号属性。显示所有的编号属性。 显示处理指令和注释。显示处理指令和注释。 学生的电话或手机的位数。学生的电话或手机的位数。 xmlXPATH详解 XPath简介简介 XPath是是W3C定义的语言和正式的定义的语言和正式的W3C推荐的语言,推荐的语言,W3C拥有拥有XML Path Language (XPath) Version 1.0规范。规范。XPath诞生于诞生于1999年,作为对年,作为对XSLT和和XPointer语言的补充,但近来已成为流行的独立语言,因为单个语言的补充,但近来已成为流行的独立语言,因为单个XPath表表达式可用于替代多行达式可用于替代多行DOM API代码。代码。 使用使用XPath的目的:为了在匹配的目的:为了在匹配XML文档结构时能够准确地找到某一个节文档结构时能够准确地找到某一个节点元素。可以把点元素。可以把XPath比作文件管理路径,通过文件管理路径,可以按照比作文件管理路径,通过文件管理路径,可以按照一定的规则查找到所需要的文件;同样,依据一定的规则查找到所需要的文件;同样,依据XPath所制定的规则,也可所制定的规则,也可以很方便地找到以很方便地找到XML结构文档树中的任何一个节点,显然这对结构文档树中的任何一个节点,显然这对XSLT来说来说是一个最最基本的功能。是一个最最基本的功能。 xmlXPATH详解XPath的基本语法的基本语法 XPath中对元素和属性的匹配,主要有以下几种:中对元素和属性的匹配,主要有以下几种: 选择分支选择分支 定位节点定位节点 选择未知元素选择未知元素 选择属性选择属性 XPath语法主要是关于一下几方面:语法主要是关于一下几方面: XPath表达式表达式 XPath中对元素和属性的匹配中对元素和属性的匹配XPath定位路径定位路径 XPath函数库函数库 xmlXPATH详解定位节点定位节点 每个每个XML文档都可看成是一棵树,该树与计算机中的树形文件夹非常文档都可看成是一棵树,该树与计算机中的树形文件夹非常类似,类似,XPath使用以斜线分隔的子元素名的列表来描述某个使用以斜线分隔的子元素名的列表来描述某个XML文档文档的路径所匹配的元素。的路径所匹配的元素。 /class/student表示选择表示选择“class”元素下所有的元素下所有的“student”元素元素 /class/student/name表示选择表示选择“class”元素下所有的元素下所有的“student”元素元素 xmlXPATH详解选择未知元素选择未知元素 /class/student/*用于选择用于选择“class”元素下所有的元素下所有的“student”元素的所有元素的所有子元素子元素 /class/*/name用于选择用于选择“class”元素下所有的子元素下的所有元素下所有的子元素下的所有“name”元素元素 /*/*/name用于选择具有两个祖先的所有用于选择具有两个祖先的所有“name”元素元素 /*用于选择该文档中的所有元素用于选择该文档中的所有元素 在实际应用中我们经常会使用通配符在实际应用中我们经常会使用通配符“*”来选择未知的来选择未知的XML元素。如下:元素。如下:xmlXPATH详解选择分支选择分支 通过在通过在XPath语句中使用中括号语句中使用中括号“ ”可以进一步指定某个元素。在中括号可以进一步指定某个元素。在中括号中可以使用各种函数、数值、表达式等来指定某个符合条件的元素。如下:中可以使用各种函数、数值、表达式等来指定某个符合条件的元素。如下:/class/student1 选择选择“class”元素下的第一个元素下的第一个“student”子元素子元素 /class/studentage选择选择“class”元素下含有元素下含有“age”元素的所有元素的所有“student”元素元素 /class/studentage=20选择选择“class”元素下元素下“student”元素中的元素中的“age”元素元素值为值为20的所有的所有“student”元素元素 /class/studentage=20/name选择选择“class”元素下的元素下的“age”元素值为元素值为20的所有的所有“student”元素下的所有元素下的所有“name”元素元素 /class/studentlast()选择选择“class”元素下的最后一个元素下的最后一个“student”子元素子元素 xmlXPATH详解选择多个路径选择多个路径 通过在通过在XPath语句中使用语句中使用“|”操作符来选择多个路径。如下:操作符来选择多个路径。如下:/class/student/name | /class/teacher/name表示选择表示选择“class”元素下元素下“student”元素中的所有元素中的所有“name”元素和元素和“class”元素下元素下“teacher”元素中的所有元素中的所有“name”元素元素 /name | /age | /email选择文档中所有的选择文档中所有的“name”元素、元素、“age”元素元素和和“email”元素元素 /name | /class/student/age 选择文档中所有的选择文档中所有的“name”元素和元素和“class”元素下元素下“student”元素中的所有元素中的所有“age”元元素素xmlXPATH详解选择属性选择属性 在在XPath语法中,要获得属性信息必须以前缀语法中,要获得属性信息必须以前缀“”来指定,如下来指定,如下 :/ id表示选择所有属性名为表示选择所有属性名为“id”的属性的属性 /class/student id表示选择表示选择“class”元素下包含有元素下包含有“id”属性的属性的所有所有“student”元素元素 /class/student *表示选择表示选择“class”元素下包含有属性的所有元素下包含有属性的所有“student”元素元素 /class/student id= ADR02表示选择表示选择“class”元素下包含有元素下包含有“id”属性的值为属性的值为“ADR02”的所有的所有“student”元素元素 xmlXPATH详解匹配元素和属性的示例匹配元素和属性的示例该文档中的所有元素的字符数据:该文档中的所有元素的字符数据:最后一个学生的姓名:最后一个学生的姓名:所有的姓名:所有的姓名:年龄为年龄为23的学生的姓名:的学生的姓名:学生的姓名和年龄:学生的姓名和年龄:所有的所有的id属性:属性: xmlXPATH详解XPath定位路径定位路径 一个一个XPath定位路径表达式将返回一个符合条件的节点集。定位路径表达式将返回一个符合条件的节点集。定位路径可以是相对路径,也可以是绝对路径。绝对定位路径以一个斜线定位路径可以是相对路径,也可以是绝对路径。绝对定位路径以一个斜线“/”开头,而相对定位路径则没有。定位路径是由一个或多个定位步骤组开头,而相对定位路径则没有。定位路径是由一个或多个定位步骤组成,每个步骤用一个斜线分隔。成,每个步骤用一个斜线分隔。 定位绝对路径的表达式如下所示:定位绝对路径的表达式如下所示:/class/student/name定位相对路径的表达式如下所示:定位相对路径的表达式如下所示:class/student/namexmlXPATH详解定位步骤定位步骤 定位步骤按照顺序从左到右依次求值。每一个定位步骤都是相对于上下定位步骤按照顺序从左到右依次求值。每一个定位步骤都是相对于上下文节点集中的节点进行求值的。文节点集中的节点进行求值的。一个定位路径由若干个定位步骤组成。一个定位路径由若干个定位步骤组成。 一个定位步骤一般有三部分:一个定位步骤一般有三部分: 一个轴,它指定了定位步骤选择的节点与上下文节点之间的关系。一个轴,它指定了定位步骤选择的节点与上下文节点之间的关系。 一个节点测试,它指定定位步骤选择的节点的节点类型以及节点扩一个节点测试,它指定定位步骤选择的节点的节点类型以及节点扩展名。展名。 零个或零个以上的判定语句,它使用专有的表达式进一步细化定零个或零个以上的判定语句,它使用专有的表达式进一步细化定位步骤选择的节点集合。位步骤选择的节点集合。 xmlXPATH详解定位步骤的语法定位步骤的语法 定位步骤的语法是由两个冒号分开的轴名和节点测试组成,其后可跟随定位步骤的语法是由两个冒号分开的轴名和节点测试组成,其后可跟随零个或零个以上在方括符内的表达式。零个或零个以上在方括符内的表达式。 child:ageage=20轴名轴名一般格式如下一般格式如下:判定语句判定语句节点测试节点测试xmlXPATH详解轴轴 用到的轴主要有以下几种用到的轴主要有以下几种 :lchild:当前节点所有的子节点。例如:当前节点所有的子节点。例如:child:*表示选择当前节点的所有子元表示选择当前节点的所有子元素素child:text()表示选择当前节点的文本节点。表示选择当前节点的文本节点。child:node()表示选择当前节点的表示选择当前节点的所有子节点。所有子节点。ldescendant:该轴包含该节点的后裔;后裔是一个孩子或一个孩子的孩子,等:该轴包含该节点的后裔;后裔是一个孩子或一个孩子的孩子,等等,后裔轴从来不包含属性或命名空间节点。例如:等,后裔轴从来不包含属性或命名空间节点。例如:descendant:name表示选择表示选择当前节点的后代中所有当前节点的后代中所有name元素。元素。lparent:当前节点的所有父节点。:当前节点的所有父节点。lancestor:该轴包含该节点的所有祖先节点,该节点的祖先由该节点的父节点:该轴包含该节点的所有祖先节点,该节点的祖先由该节点的父节点以及父节点的父节点等组成。这样,祖先轴将总是包括根节点,除非该节点是以及父节点的父节点等组成。这样,祖先轴将总是包括根节点,除非该节点是根节点;例如:根节点;例如:ancestor:age表示选择当前节点的祖先节点中所有的表示选择当前节点的祖先节点中所有的age元素。元素。lfollowing-sibling:包含该节点的所有在其后的兄弟,如果该节点是属性节点或:包含该节点的所有在其后的兄弟,如果该节点是属性节点或命名空间节点,命名空间节点,following-sibling 则为空。则为空。xmlXPATH详解lpreceding-sibling:包含该节点的所有在其前的兄弟,如果该节点是属性节点或:包含该节点的所有在其前的兄弟,如果该节点是属性节点或命名空间节点,则命名空间节点,则preceding-sibling轴为空。轴为空。lfollowing:包含在该节点所在的同一文档中,所有依照文档顺序在该节点后的:包含在该节点所在的同一文档中,所有依照文档顺序在该节点后的节点,但排除所有的后裔,也排除属性节点以及命名空间节点。节点,但排除所有的后裔,也排除属性节点以及命名空间节点。lpreceding:包含在该节点所在的同一文档中,所有依照文档顺序在该节点前的:包含在该节点所在的同一文档中,所有依照文档顺序在该节点前的节点,但排除所有的后裔,也排除属性节点以及命名空间节点。节点,但排除所有的后裔,也排除属性节点以及命名空间节点。lattribute:包含该节点的属性,除非该节点是元素,该轴将为空。例如:包含该节点的属性,除非该节点是元素,该轴将为空。例如:attribute:* 表示选择当前节点的所有属性。表示选择当前节点的所有属性。lnamespace:包含该节点的命名空间节点,除非该节点是元素,该轴将为空。:包含该节点的命名空间节点,除非该节点是元素,该轴将为空。lself:只包含该节点本身。:只包含该节点本身。l l ancestor-or-self:包含该节点和该节点的祖先;这样该轴将总是包括根节点。:包含该节点和该节点的祖先;这样该轴将总是包括根节点。ldescendant-or-self:包含该节点和该节点的后裔。:包含该节点和该节点的后裔。xmlXPATH详解节点测试节点测试 节点测试是一个条件,并且是路径表达式中定位步骤的第二个组件。在节点测试是一个条件,并且是路径表达式中定位步骤的第二个组件。在该轴中选定的所有节点都必须满足此条件。有以下两种该轴中选定的所有节点都必须满足此条件。有以下两种 以节点名作为节点测试以节点名作为节点测试 以节点类型作为节点测试以节点类型作为节点测试 有如下的路径表达式有如下的路径表达式 :/child:name 以节点名以节点名“name”作为节点测试作为节点测试 child: text() 以节点类型作为节点测试以节点类型作为节点测试 xmlXPATH详解以节点类型作为节点测试以节点类型作为节点测试 主要节点类型有:主要节点类型有: node( ):任何类型的节点。:任何类型的节点。 processing-instruction( ):处理指令节点。:处理指令节点。 text( ):文本类型节点。:文本类型节点。 comment( ):表示注释节点。:表示注释节点。 xmlXPATH详解 XPath表达式表达式 XPath除了定位路径表达式外,还有许多其它的基本表达式结构,包括除了定位路径表达式外,还有许多其它的基本表达式结构,包括布尔、等式、关系和数值表达式。它们通常用于布尔、等式、关系和数值表达式。它们通常用于XPath谓词和各种谓词和各种XSLT结构中。结构中。 关系表达式关系表达式 数值表达式数值表达式 数值表达式的运算符主要包括:加(数值表达式的运算符主要包括:加(+)、减()、减(-)、乘()、乘(*)、除()、除(div)和取模(和取模(mod)。)。一般格式如下:一般格式如下:操作数操作数1 运算符运算符 操作数操作数2xmlXPATH详解关系表达式关系表达式 关系表达式主要用于对两个值的比较,其中主要的运算符及其用法如关系表达式主要用于对两个值的比较,其中主要的运算符及其用法如表所示:表所示: 运算符运算符作用作用=判断两个数值是否相等!=判断操作数1是否不等于操作数2<小于<=小于等于>大于>=大于等于or或and和xmlXPATH详解XPath函数库函数库 XPath提供了函数库以方便计算表达式。我们可以使用提供了函数库以方便计算表达式。我们可以使用XPath函数改进函数改进XPath的查询,并提高的查询,并提高XPath的编程能力和其灵活性。的编程能力和其灵活性。 XPath函数库中的函数主要分为函数库中的函数主要分为 字符串函数字符串函数 节点集函数节点集函数 布尔函数布尔函数 数值函数数值函数 注意:使用注意:使用XPath函数时必须严格区分函数名的大小写和参数信息。函数时必须严格区分函数名的大小写和参数信息。xmlXPATH详解节点集函数节点集函数 XPath的节点集函数主要有以下几种:的节点集函数主要有以下几种: l count( ):该函数返回被选元素的数目。:该函数返回被选元素的数目。l id( ):通过元素的唯一:通过元素的唯一ID选择元素。选择元素。l last( ):返回最后一个节点是第几个节点。:返回最后一个节点是第几个节点。l local-name( ):返回节点集中第一个节点的:返回节点集中第一个节点的local name。l name( ):返回元素的元素名。:返回元素的元素名。l namespace-uri( ):返回节点集中第一个节点的命名空:返回节点集中第一个节点的命名空间间URI。l l position( ):返回被选元素是第几个节点。:返回被选元素是第几个节点。xmlXPATH详解节点集函数示例节点集函数示例将元素名和字符数据用等号连接:将元素名和字符数据用等号连接:=“person”元素的数量:元素的数量:=xmlXPATH详解字符串函数字符串函数 字符串函数有如下几种:字符串函数有如下几种: l concat( ):返回字符串连接的结果。:返回字符串连接的结果。l contains( ):如果第一个字符串包含第二个字符串,则返回真,否则返回假。:如果第一个字符串包含第二个字符串,则返回真,否则返回假。l normalize-space( ):返回去除了前后空白以及重复空白的参数字符串。:返回去除了前后空白以及重复空白的参数字符串。l starts-with( ):如果第一个字符串以第二个字符串开头则返回真,否则返回假。:如果第一个字符串以第二个字符串开头则返回真,否则返回假。l string( ):将对象转换为字符串。:将对象转换为字符串。l string-length( ):返回一个字符串的长度。:返回一个字符串的长度。l substring( ):返回第一个参数中从第二个参数指定的位置开始、第三个参数指:返回第一个参数中从第二个参数指定的位置开始、第三个参数指定的长度的字符串定的长度的字符串l substring-after( ) :返回字符串中从开始到某一字符串第一次出现的位置后的:返回字符串中从开始到某一字符串第一次出现的位置后的字符串。字符串。xmlXPATH详解字符串函数示例字符串函数示例是否包含单词是否包含单词“May”:是否以数字是否以数字“8”开头:开头: 单词的长度:单词的长度:xmlXPATH详解数值函数数值函数数值函数主要有以下几种:数值函数主要有以下几种: l ceiling( ):返回不小于参数的最小整数。:返回不小于参数的最小整数。l floor( ):返回不大于参数的最大整数。:返回不大于参数的最大整数。l number( ):将参数转换为数字。:将参数转换为数字。l round( ):返回与参数最接近的整数值。:返回与参数最接近的整数值。l l sum( ):返回节点集中所有节点的总和。每个节点在求和之前先转换为数值。:返回节点集中所有节点的总和。每个节点在求和之前先转换为数值。 如:如:ceiling(4.3)将返回将返回4。round(4.7)将返回将返回5 sum(class/student/money)返回学生的钱数的总和返回学生的钱数的总和xmlXPATH详解布尔函数布尔函数布尔函数主要用于对参数表达式进行计算,并返回结果。有如下几种:布尔函数主要用于对参数表达式进行计算,并返回结果。有如下几种: l boolean():将参数转换为布尔值。:将参数转换为布尔值。 如果参数是负数或正数,将转换为布尔值如果参数是负数或正数,将转换为布尔值true。 如果参数为零或如果参数为零或NaN值,将转换为值,将转换为false。 如果参数为非空的节点集,将转换为如果参数为非空的节点集,将转换为true;空节点集将转换为;空节点集将转换为false。 如果参数为非空的字符串,将转换为如果参数为非空的字符串,将转换为true;空字符串将转换为;空字符串将转换为false。 如果参数不属于四种基本类型的对象,将通过该类型相应的方式转换为布尔值如果参数不属于四种基本类型的对象,将通过该类型相应的方式转换为布尔值 。l false( ):返回:返回false。l lang( ):如果该节点的:如果该节点的xml:lang属性与参数字符串相同,则返回属性与参数字符串相同,则返回true。此函数不。此函数不常用。常用。l not( ):如果参数为:如果参数为false,则返回,则返回true,否则,返回,否则,返回false。l l true( ):返回:返回true。xmlXPATH详解XPath API的使用的使用 XPath表达式比繁琐的文档对象模型(表达式比繁琐的文档对象模型(DOM)代码要容易编写得多。如果)代码要容易编写得多。如果需要从需要从XML文档中提取信息,最快捷、最简单的办法就是在文档中提取信息,最快捷、最简单的办法就是在Java程序中程序中嵌入嵌入XPath表达式。在表达式。在Java版本中推出了版本中推出了javax.xml.xpath包,这是一个用包,这是一个用于于XPath文档查询的独立于文档查询的独立于XML对象模型的库。对象模型的库。 XPath API的常用类及接口如下:的常用类及接口如下: XPath 接口接口 XPathFactory类类 XPathVariableResolver接口和接口和XPathFunctionResolver接口接口 XPathExpression接口接口XPathVariableResolver接口和接口和XPathFunctionResolver接口主要用于在程接口主要用于在程序中定义和使用序中定义和使用XPath的扩展函数,一般不常使用。的扩展函数,一般不常使用。xmlXPATH详解XPathFactory类类 XPathFactory实例可用于创建实例可用于创建XPath对象。该类只有一个受保护的空构造对象。该类只有一个受保护的空构造方法,常用的方法主要有以下几种:方法,常用的方法主要有以下几种: abstract void setXPathFunctionResolver(XPathFunctionResolver resolver):建立默:建立默认函数解析器。认函数解析器。 static XPathFactory newInstance( ):获取使用默认对象模型(:获取使用默认对象模型(DOM)的新)的新XPathFactory 实例。实例。 abstract void setXPathVariableResolver(XPathVariableResolver resolver):建立默:建立默认变量解析器。认变量解析器。 abstract boolean isObjectModelSupported(String objectModel):此:此XPathFactory是否支持指定的对象模型。是否支持指定的对象模型。 在实际应用中经常会使用的在实际应用中经常会使用的newInstance( )静态方法来获得一个该类的实静态方法来获得一个该类的实例,例, xmlXPATH详解XPath 接口接口 提供了对提供了对XPath计算环境和表达式的访问。计算环境和表达式的访问。XPath对象不是线程安全的,也对象不是线程安全的,也不能重复载入。也就是说应用程序负责确保在任意给定时间内不能有多个不能重复载入。也就是说应用程序负责确保在任意给定时间内不能有多个线程使用一个线程使用一个XPath对象。对象。 常用方法有以下几种常用方法有以下几种 :void reset():将此:将此XPath重置为其初始配置。重置为其初始配置。 XPathExpression compile(String expression):编译:编译XPath表达式。表达式。 void setXPathFunctionResolver(XPathFunctionResolver resolver):建立函数解:建立函数解析器。析器。 void setNamespaceContext(NamespaceContext nsContext):建立名称空间上下文。:建立名称空间上下文。 void setXPathVariableResolver(XPathVariableResolver resolver):建立变量解析器。:建立变量解析器。 xmlXPATH详解XPathExpression接口接口 XPathExpression接口提供了对编译后的接口提供了对编译后的XPath表达式的访问。如果表达式表达式的访问。如果表达式包含变量,则其值将通过包含变量,则其值将通过XPathVariableResolver()方法找到,如果变量解析方法找到,如果变量解析器未定义或解析器返回器未定义或解析器返回null,将会抛出异常。如果表达式包含函数引用,则,将会抛出异常。如果表达式包含函数引用,则函数将通过函数将通过XPathFunctionResolver()方法找到。如果函数解析器未定义或方法找到。如果函数解析器未定义或解析器为函数返回解析器为函数返回null,将会抛出异常。,将会抛出异常。 该接口最长用的方法是该接口最长用的方法是evaluate()方法,如下:方法,如下: String evaluate(InputSource source):计算指定:计算指定InputSource编译后的编译后的XPath表达式表达式并将结果以字符串形式返回。并将结果以字符串形式返回。 String evaluate(Object item):计算指定编译后的:计算指定编译后的XPath表达式并以字符串形式表达式并以字符串形式返回。返回。 Object evaluate(Object item, QName returnType): 计算指定的计算指定的XPath表达式并返回表达式并返回指定类型的结果。指定类型的结果。 Object evaluate(InputSource source, QName returnType):计算指定:计算指定InputSource编编译后的译后的XPath表达式并返回指定类型的结果。表达式并返回指定类型的结果。 xmlXPATH详解XPath API的使用示例的使用示例import javax.xml.parsers.*;import javax.xml.xpath.*;import org.w3c.dom.*;public class TestXpath2public static void main(String args)throws Exception DocumentBuilderFactory domFactory=DocumentBuilderFactory.newInstance( ); DocumentBuilder builder=domFactory.newDocumentBuilder( ); Document doc=builder.parse(cdcatalog.xml);/获取一个获取一个XPathFactory实例实例XPathFactory factory = XPathFactory.newInstance( ); XPath xpath = factory.newXPath( ); /使用使用XPath函数函数XPathExpression expr= pile(sum(/cd/price); String result =expr.evaluate(doc); System.out.println(result); 在在XPath表达式中使用表达式中使用XPath函数库函数库的的sum()函数。函数。 xmlXPATH详解XPath的数据类型的数据类型 XPath 1.0只有四种基本的数据类型:只有四种基本的数据类型: number(数值型)(数值型) node-set(节点型)(节点型) boolean(布尔型)(布尔型) string(字符串型)(字符串型) XPath的数据类型在的数据类型在Java中的对应关系如下表:中的对应关系如下表: XPath数据类型数据类型映射到映射到Java中中node-set(节点型)(节点型)org.w3c.dom.NodeListnumber(数值型)(数值型)doubleboolean(布尔型)(布尔型)booleanstring(字符串型)(字符串型)StringxmlXPATH详解在计算在计算XPath表达式时,使用表达式时,使用XPathExpression接口的接口的evaluate()方法。该方方法。该方法可以有两个参数。其中第二个参数就是用于指定需要的返回类型,该参法可以有两个参数。其中第二个参数就是用于指定需要的返回类型,该参数的值都是在数的值都是在XPathConstants中已经命名的静态字段。如下:中已经命名的静态字段。如下: XPathConstants.BOOLEAN XPathConstants.NODESET XPathConstants.NUMBER XPathConstants.STRING XPathConstants.STRING XPathConstants.NODE并没有匹配的并没有匹配的XPath类型,它主要适用于当类型,它主要适用于当XPath表达式表达式的结果有且只有一个节点。如果的结果有且只有一个节点。如果XPath表达式返回了多个节点,却指定类型为表达式返回了多个节点,却指定类型为XPathConstants.NODE,则,则evaluate()方法将按照文档顺序返回第一个节点。如方法将按照文档顺序返回第一个节点。如果果XPath表达式的结果为一个空集,却指定类型为表达式的结果为一个空集,却指定类型为XPathConstants.NODE,则,则evaluate( )方法将返回方法将返回null。 xmlXPATH详解实践项目实践项目 程序的实现要求如下:程序的实现要求如下:(1)使用通配符)使用通配符“*”显示所有的字符数据和所有的姓名信息。显示所有的字符数据和所有的姓名信息。(2)使用)使用“|”操作符显示所有的姓名和年龄。操作符显示所有的姓名和年龄。(3)显示所有的编号属性。)显示所有的编号属性。(4)显示处理指令和注释。)显示处理指令和注释。(5)显示学生的数量、电话号码是否包含)显示学生的数量、电话号码是否包含“8”、学生是否姓、学生是否姓“李李”。(6)学生的电话或手机的位数。)学生的电话或手机的位数。xmlXPATH详解本章总结本章总结q CSS样式表介绍样式表介绍q XSL介绍介绍q XSL语言的语法语言的语法q 如何将如何将XML和和XSL配合使用配合使用
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!