软讯网络 > 网站建设 > ASP > XML实用教程
【标 题】:XML实用教程
【关键字】:
XML
【来 源】:http://blog.csdn.net/jxcjxinxing/archive/2006/12/20/1450194.aspx
XML实用教程
以文本方式查看主题
- 中国XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 XML基础 』 (http://bbs.xml.org.cn/list.asp?boardid=1) ---- XML实用教程 (http://bbs.xml.org.cn/dispbbs.asp?boardid=1&rootid=&id=18600) |
-- 作者:xiaoye -- 发布时间:2005-5-20 22:46:00
-- XML实用教程 先来问一个问题 关于JS和XML 我用JS生成了一段XSL代码,比如 <xsl:for-each select="mycomputer/computer"> <xsl:value-of select="CPU1"/> 这个1是动态生成的,我在JS中用一个变量保存了<xsl:value-of select="CPU1"/>这段语句,然后想将它插入XSL中,请问应该怎样编写代码? | XML实用教程 可扩展置标语言XML(eXtensible Markup Language)是由一系列规则所组成的描述语言,其本质为一种定义语言。任何行业均可遵循这些规则来定义各种标识,对信息中的元素进行描述,然后通过分析程序进行处理,使信息实现“自我描述”。 对于大型的复杂文档,XML更是一种理想语言,其不仅允许指定文档中的词汇,且允许指定元素之间的关系。随着网络的发展,XML在网络开发中的地位已逐渐赶上HTML,很多浏览器已可良好地支持XML,XML正成为一种网络未来发展的主流语言。 一、XML概述 1.什么是XML 从不同的角度分析,XML有不同的解释,具体如下所述: (1)XML是一种置标语言,置标指开发者可按需自定义任何符合规则的标记,而HTML仅是一种预定义标记语言,只可解析已定义的标记,对于自定义标记则无法解析。 (2)XML是一种语义结构化语言,合理地描述了文件的结构和语义。 (3)XML是一种通用的数据格式,也是一种简单的数据格式,由纯ASCII文本构成,因此抗破坏能力很强。 (4)从高级角度分析,XML是一种自描述语言。 2.XML的常用术语 (1)DTD(Document Type Definition):即文件类型定义。定义的内容包括允许使用的标签、标签元素嵌套的方式及处理方法。XML标准不强制标记设计者使用DTD,但大部分基于XML开发的新语言均带有DTD,使开发者较易编写可理解的标记并编制出巧妙的软件。 (2)XML文件:XML文件由DTD和XML文本组成,简单的XML文本可不包含DTD。 (3)XSL和CSS:XML可定义信息内容,但无法定义信息的表现形式。XML通过XSL(XML Style Language,XML样式语言)和CSS(Cascading Style Sheets,层叠样式表)来实现信息的转换。 (4)XML Schema:虽然DTD限制标记的使用,但对于XML的自动处理仍需更严格和全面的工具,由此出现XML Schema。 (5)DOM(Document Object Model):即文件对象模型。其将XML文件内容转换为一个对象模型,为应用程序提供访问XML文件的接口。 (6)XSLT(XML Stylesheet Language Transformation):即XML样式转换语言。XSLT可从一个已定义的XML文件抽取所需的数据,并组成不同的形式。 (7)Xpointer和Xlinks:Xpointer和Xlinks类似于HTML中的超级链接,用于链接其他XML文件或XML文件中的部分。 (8)XML 框架:XML框架用于控制XML文件结构,是一种高层次的结构控制。 二、XML语法详解 1.XML的文件结构 如前所述,XML允许自定义标记来形象地描述信息,假设需描述一台计算机的基本配置,可自定义一些易于理解的标记,如“computer”、“CPU”等。那么通过使用这些标记,一台计算机的基本配置,用XML描述如下所述: <computer> <CPU>P4</CPU> <RAM>256M</RAM> <HardDisk>80G</HardDisk> </computer> 上述内容,稍具计算机知识的读者可迅速地理解,也正是XML的优点。当然,标准的XML还需在文件的第一行添加“<?xml version=″1.0″?>”的声明语句,以表示该文件使用的XML版本。XML声明是一种处理指令。完整的XML声明示例如下所述: <?xml version = ″1.0″ encoding = ″GB2312″ standalone = ″no″?> 在声明中必须包括“version”属性,用于设置所采用的XML版本号,且必须在属性列表中第一个出现。“standalone”属性代表该XML文档是否和一个外部文档类型定义DTD配套使用。“encoding”属性则设置数据所采用的编码标准。 XML文件通常以XML声明开始,通过XML元素来组织数据。XML元素包括标记和字符数据。为使数据组织更方便、清晰,可在字符数据中添加CDATA数据块,并可添加注释。 综上所述,可得XML文件的基本结构,如下所述: (1)XML文件以XML声明开始。 (2)处理指令以“<?”字符开始,以“?>”结束,“<?”后的第一个单词为处理指令名。 (3)自定义的标记用“<”和“>”字符包含,标记需成对出现,后一个标志需以“</”开始。 (4)XML元素可包含正文和其他元素,但元素必须严格嵌套,即每个起始标记必须有对应的结束标记。 (5)XML元素不能重叠。 XML文件是纯文本文件,可用任何文本编辑器进行编制。如将前述计算机配置的XML文件在文本编辑器中以“xml”扩展名保存后,在5.0版本以上的IE浏览器中浏览,效果如<a href='H:\Data\pic\60090405a.jpg' target=Pic>图</a>1所示: 2.XML文件的元素 XML文件的元素可扩展,彼此之间存在关联,且元素的命名规则非常简单,如下所述: (1)XML元素可扩展: XML文件可进行扩展以保存更多的信息,如可为上文介绍的计算机基本配置的XML文件增加显示器内容,只需直接在原XML文件中加入“Monitor”标记即可,如下: <?xml version = ″1.0″ encoding = ″GB2312″ standalone = ″no″?> <computer> <CPU>P4</CPU> <RAM>256M</RAM> <HardDisk>80G</HardDisk> <Monitor>PHILIPS 107T</Monitor> </computer> (2)XML元素彼此关联: XML元素之间的关系如同一棵节点组成的树,各节点之间存在“兄弟”或“父子”的概念,在前述的计算机配置XML文件中,“computer”为根元素,“CPU”、“RAM”和“HardDisk”等均为“computer”的子元素。反之,“computer”是“CPU”和“RAM”的父元素。“CPU”和“RAM”之间由于其父元素相同,因此为兄弟元素。 (3)XML元素对大小写敏感: XML元素对于大小写敏感,因此“<Computer>”和“<computer>”是不同的元素。 (4)空元素的表示: XML表示空元素非常方便,将一个标签以“/>”符号结尾即表示空元素。 (5)XML元素的保留字符: 由于某些字符为XML语法结构的组成部分,因此如需在XML数据中引用,必须用特殊的字符来代替,这些字符和代替的字符如下表所示: (<a href='H:\Data\pic\60090405b.jpg' target=Pic>图</a>) (6)根元素的唯一性: 每个XML文件必须有唯一的根元素,如在上述的计算机配置XML文件中。“computer”为该XML文件的唯一根元素。 (7)元素的内容: XML元素包含不同的内容类型。一个XML元素由元素起始标记至结束标记之间的全部内容组成。一个元素可包含元素内容、混合内容、简单内容和空内容,还可包含属性。 (8)元素的命名: XML元素必须遵循的命名规则如下所述: 名字中可包含字母、数字及其他字母(如汉字);名字不能以数字或下划线开头;名字不能以字母“xml”(或XML、Xml等)开头;名字中不能包含空格;名字中不能使用“:”,由于其已为命名空间(namespaces)所保留。 自定义元素名时,有一些技巧可供参考,如下所述: 名字应具有描述性,可通过下划线的方式使名称更形象;名字不易过长;由于XML文件通常和数据库相连接,因此建议将数据库的字段名称和XML文件元素名称相对应;非英文字母在XML元素名称中合法,但取决于解析器是否支持。 3.XML属性 类似于HTML标记,XML元素也可在其起始标记中设计属性,以提供有关元素的附加信息。属性所提供的信息通常非数据的组成部分。 属性值必须包含在引号中,且单、双引号均可使用。如可为计算机配置XML文件的“computer”标记增加一个用户的属性,如下所示: <computer user=″马前雪″> 在单、双引号中,双引号较常用,但如属性值本身包含引号,则必须使用单引号。 4.CDATA标记 在CDATA标记下,所有的标记或实体引用均被XML解析器忽略,并作为字符数据处理。CDATA标记的语法如下所示: <![CDATA[ 文本内容 ]] > CDATA标记中的文本内容不能出现字符串“]]>”,此外CDATA标记不能嵌套。 如可将计算机配置XML文件的“CPU”标记用“CDATA”标记包括,如下所示: <![CDATA[ <CPU>P4</CPU> ]]> 5.XML注释 如需进一步增强XML文件的可读性,可添加解释性的字符数据,且希望XML解析器不对这些数据进行处理,该类型的信息称作注释。在XML中注释方法与HTML完全相同,用“<!--”和“-->”将注释文本包含即可。 XML的注释有一些语法规则,如下所述: (1)注释文本中不能出现“-”字符或“--”字符串。 (2)注释文本不能嵌入标记中,也不能放在标记声明之中或之前。 (3)注释不能被嵌套。 如可为计算机配置XML文件增加注释,如下所示: <!-- 用XML描述计算机配置 --> 在5.0版本以上的IE浏览器中浏览,效果如<a href='H:\Data\pic\60090405c.jpg' target=Pic>图</a>2所示: 三、XSL概述 1.什么是XSL XSL(可扩展样式表语言),即XML的样式表。由于XML可按需使用任意标记,因此标记的含义无法被直接解析。鉴于此,浏览器无法获悉如何显示一个XML文件。为显示XML文件,必须通过一个机制来描述显示的方式。XSL是XML的首选样式表语言,其不仅是样式表,且还是转换XML文件、定义XML部分和模式及格式化XML文件的方法。XSL语言的组成部分如下: XSLT:一种用于转换XML的语言。 XPath:一种用于定义XML部分或模式的语言。 2.XSL转换方法 XSLT是一种将XML文件转换为其他类型文件或XML文件的语言。XPath是一种对XML文件的部分进行寻址的语言。格式化是将XSL转换结果变为适当输出格式的过程。通常XSLT将每个XML元素转换为HTML元素,还可向输出文件中增加或删除一些元素。 在转换过程中,XSLT用XPath定义源文件中与一个或多个预定模板相匹配的部分。当找到一个匹配时,XSLT将源文件中的匹配部分转换为结果文件,源文件中不与任何一个模板匹配的部分在结果中保持不变。 为理解XSL转换的效果,需创建一个结合XSL的XML文件,在后续内容中将以该文件为例进行介绍,其内容如下: <?xml version=″1.0″?> <?xml-stylesheet type=″text/xsl″ href=″computer.xsl″?> <mycomputer> <computer> <CPU>P4</CPU> <RAM>256M</RAM> <HardDisk>80G</HardDisk> </computer> <computer> <CPU>C4</CPU> <RAM>128M</RAM> <HardDisk>40G</HardDisk> </computer> </mycomputer> 该文件包含二台计算机的配置,因此按前述的XML文件结构,需增加一个唯一的根节点“mycomputer”,最后将该文件以“computer.xml”为文件名保存。 在该文件中,“<?xml-stylesheet type=″text/xsl″ href=″computer.xsl″?>”语句用于关联一个XSL文件,该XSL文件的内容如下所示: <?xml version=′1.0′?> <xsl:stylesheet xmlns:xsl=″http://www.w3.org/TR/WD-xsl″> <xsl:template match=″/″> <html> <body> <table border=″2″> <tr> <td>CPU</td> <td>RAM</td> <td>HardDisk</td> </tr> <xsl:for-each select=″mycomputer/computer″> <tr> <td><xsl:value-of select=″CPU″/></td> <td><xsl:value-of select=″RAM″/></td> <td><xsl:value-of select=″HardDisk″/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> 输入完毕后将该文件以“computer.xsl”为文件名保存于“computer.xml”文件同一文件夹下。 在5.0版本以上的IE浏览器中打开computer.xml文件,显示的效果如(<a href='H:\Data\pic\60090405d.jpg' target=Pic>图</a>)3所示: 由此可见,XML通过XSL设置的样式,将XML的内容进行转换,并以HTML的方式显示。 3.XSL模板和元素 XSL使用一个或多个模板来定义如何输出XML元素,用一个匹配属性将模板与一个XML元素进行连接,还可用匹配属性为XML文件的一个完整分支定义模板。下面是XSLT的常用元素语法。 (1)xsl:template和xsl:apply-templates元素: 模板(template)是XSL中很重要的概念。XSL文件由模板组成,一个XSL文件至少包含一个模板,不同的模板控制不同的输出格式。 模板由匹配模式和执行两部分组成。其中匹配模式部分定义XML源文件中将被模板处理的节点,执行部分定义输出的格式。这二部分对应的语法分别为xsl:template和xsl:apply-templates。 xsl:template元素的语法如下: <xsl:template match = pattern name = qname priority = number mode = qname> <!-- 执行内容 --> </xsl:template> xsl:template元素用于定义新模板。其中name、priority和mode属性分别用于区别匹配同一节点的不同模板。match属性用于控制模板的匹配模式,即设置XML源文件中被模板处理的节点。 如需模板匹配根节点,则可输入以下语句: <xsl:template match=″/″> <!-- 文件内容 --> </xsl:template> xsl:apply-templates元素的语法如下: <xsl:apply-templates select = node set-expression mode = qname> </xsl:apply-templates> xsl:apply-templates元素用于设置被模板具体处理的节点。其中select属性用于定义确切的节点名称。xsl:apply-templates总包含在xsl:template元素中。 (2)xsl:value-of元素: xsl:value-of元素的语法如下: <xsl:value-of select=nodename/> xsl:value-of元素用于将源文件中元素的文本值写至输出文件。其中nodename属性用于设置需输出的元素名称。 (3)xsl:for-each元素: xsl:for-each元素的语法如下: <xsl:for-each select=nodename> <!-- 执行内容 --> </xsl:for-each> xsl:for-each元素用于循环处理被选择的节点。其中nodename属性用于设置需循环处理的元素名称。 (4)xsl:if元素: xsl:if元素的语法如下: <xsl:if test=逻辑表达式> <!-- 执行内容 --> </xsl:if> xsl:if元素类似程序语言的if条件语句,用于设置当节点满足逻辑条件时才被模板处理。 (5)xsl:choose、xsl:when和xsl:otherwise元素: 由于xsl:if元素未提供类似程序语言的“else”语句属性。因此如需对元素进行多项选择,那么可使用xsl:choose、xsl:when和xsl:otherwise元素来实现流程控制。 xsl:choose元素的语法如下: <xsl:choose> <!-- 执行内容 --> </xsl:choose> xsl:choose 元素用于对节点进行选择处理。其中执行内容可包含多个xsl:when元素和一个xsl:otherwise元素。 xsl:when元素的语法如下: <xsl:when test=逻辑表达式> <!-- 执行内容 --> </xsl:when> xsl:when 元素用于对节点进行逻辑选择。其中执行内容为对匹配逻辑表达式的节点进行的操作。 xsl:otherwise元素的语法如下: <xsl:otherwise> <!-- 执行内容 --> </xsl:otherwise> 当xsl:when 元素列举的所有条件均不符合时,将对节点进行由xsl:otherwise元素设置的操作。 (6)xsl:sort元素: xsl:otherwise元素的语法如下: <xsl:sort select=nodename/> xsl:sort元素用于对XML元素进行排序,其中nodename代表需排序的节点名称。 4.动态设置XSL 为XML文件设置XSL,除可使用静态的“<?xml-stylesheet type=″text/xsl″ href=″xsl文件名″?>”语句外,还可通过脚本语言在客户端和服务端分别进行设置。 (1)客户端设置XSL: 如客户端的浏览器支持XML,即可用XSL在浏览器中将文件转换为HTML并输出。较通用的方法可通过JavaScript来实现。在Windows平台下,由于IE5以上的版本提供了XML的解析组件,因此可通过创建XMLDOM对象来为XML动态设置XSL,下面是它的核心代码。 <script language=″javascript″> //创建XMLDOM对象 var xmldoc = new ActiveXObject(″Microsoft.XMLDOM″); xmldoc.async = false; //装载XML文件 xmldoc.load(″computer.xml″); var xsldoc = new ActiveXObject(″Microsoft.XMLDOM″); xsldoc.async = false; //装载XSL文件 xsldoc.load(″computer.xsl ″); //通过transformNode方法实现动态设置XSL的目的 document.write(xmldoc.transformNode(xsldoc)); </script> (2)服务端设置XSL: 由于目前并非所有的浏览器均支持XML和XSL,因此可通过服务器将XML转换为HTML。该代码的核心和客户端相似,使用ASP实现的代码如下: <% '创建XMLDOM对象 set xmldoc = Server.CreateObject(″Microsoft.XMLDOM″) xmldoc.async = false '装载XML文件 xmldoc.load(Server.MapPath(″computer.xml″)) set xsldoc = Server.CreateObject(″Microsoft.XMLDOM″) xsldoc.async = false '装载XSL文件 xsldoc.load(Server.MapPath(″computer.xsl″)) '通过transformNode方法实现动态设置XSL的目的 Response.Write(xmldoc.transformNode(xsldoc)) %> 四、完整的XML 1.XML文件约束 XML的优点在于允许用户自定义体现数据之间逻辑关系的标记,以确保文档具有较强的易读性、清晰性和易检索性。因此完全意义上的XML文档必须遵守文档类型定义(DTD)中已声明的规定。 DTD用于描述标记语言的语法和词汇,即定义文档的整体结构及语法。DTD规定了语法分析器为解释有效的XML文件所需获取的所有规则。 (1)DTD的类型: DTD可内嵌在XML文件的前导声明中,也可作为一个外部文档被引用。 内嵌式DTD: 内嵌DTD的XML文件结构如下: <?xml version = ″1.0″ encoding=″GB2312″ standalone = ″yes″?> <!DOCTYPE 根元素名[ 元素描述 ]> 文件内容... 外部DTD: 使用外部DTD的XML文件结构如下所述: <?xml version = ″1.0″ encoding=″GB2312″ standalone = ″no″?> <!DOCTYPE 根元素名SYSTEM ″外部DTD文件名″> 文件内容... 外部DTD可方便地被多个XML文件共享。 (2)DTD元素类型声明: DTD中使用ETD(Element Type Declaration),即元素类型声明的方法来声明所有有效元素。ETD的语法结构如下: <!ELEMENT 元素名 元素内容描述> 由XML标准可将元素按内容划分为四类: (<a href='H:\Data\pic\60090405e.jpg' target=Pic>图</a>) (3)DTD元素属性声明: 在DTD中也可定义属性,其语法如下: <!ATTLIST 元素名 (属性名 属性类型 缺省值)*> 其中元素名属性为属性所属的元素名字。属性名为属性的命名。缺省值属性代表属性初值,其可设置的类型如下表所示: (<a href='H:\Data\pic\60090405f.jpg' target=Pic>图</a>) 属性类型用于设置该属性隶属的有效属性类型,有效属性类型如下表所示: (<a href='H:\Data\pic\60090405g.jpg' target=Pic>图</a>) 2.XML Schema (1)XML Schema概述: 作为XML 1.0规范的重要组成部分,DTD对于XML文件的结构可进行详细地描述。但其采用非XML的语法规则、不支持数据类型且扩展性较差。因此诞生了XML Schema,并逐渐配合DTD共同使XML文件结构得到更好的描述。XML Schema的优点如下: 一致性:XML Schema直接利用XML的基本语法规则来定义文件结构,使XML实现了完美的统一,为XML的进一步发展奠定基础。 扩展性:XML Schema对DTD进行扩充,引入数据类型和命名空间,使其具备更强的可扩展性。 互换性:XML Schema可验证XML文件的合法性,并通过特定的映射机制,将不同的XML Schema进行转换,实现高层次的数据交换。 规范性:XML Schema提供完整的机制以约束XML标记的使用,利用元素的内容和属性来定义整体结构。 (2)XML Schema声明语句: XML Schema声明语句有二种: xmlns=″urn:schemas-microsoft-com:xml-data″:该语句说明文件为一个XML Schema文件。 xmlns:dt=″urn:schemas-microsoft-com:datatypes″:该语句定义在文件中可使用的数据类型。 (3)XML Schema语法: 完整的XML Schema语法涉及的关键元素如下: Schema元素:该元素是XML Schema中首个出现的元素,用于声明该XML文件为一个Schema文件。Schema元素具有两个属性,name属性用于设置该Schema的名称;xmlns属性用于设置该Schema包含的命名空间。 ElementType元素:该元素定义文件中使用的元素。通过content属性可声明元素是否为空、是否包含文本、是否包含子元素或既包含文本又包含子元素。 AttributeType元素:该元素定义文件中出现的属性类型。 group元素:该元素用于将XML 文件中的元素分组。通过order属性可设置分组或子分组中的元素顺序。 datatype元素:该元素用于为ElementType和AttributeType指定数据类型。 description元素:该元素用于为ElementType和AttributeType元素设置描述信息。 3.XML命名空间 为解决自定义标志中出现的“名称冲突”(即不同的实体使用同一标志进行描述)现象,可将不同的实体赋予不同的命名空间,解析器则通过命名空间来区分元素,即XML命名空间。 XML命名空间采用两段式命名法解决命名冲突问题,即第一段为代表特定命名空间的前缀,第二段为元素或属性原名,两段之间用冒号分隔。 XML命名空间的定义由命名空间声明、合法名称定义及应用命名空间的作用域三部分组成。 (1)XML命名空间声明: XML命名空间声明通过保留属性“xmlns“实现。命名空间声明包括直接和缺省定义二种方式: 直接定义方式:xmlns: [命名空间前缀] = [命名空间名]。 缺省定义方式:xmlns = [命名空间名]。 (2)合法名称定义: 合法名称由冒号分隔的前缀和本地部分组成,其中前缀和本地部分必须均为合法的XML名称。 (3)命名空间的作用域: 命名空间的作用域指命名空间声明可作用的元素和属性。一般命名空间声明可作用至说明其的元素和该元素的所有内容。 五、XML开发实例 1.网络开发实例 (1)将XML文件装载至数据岛: 在HTML中,可使用数据岛的方式来访问XML文件。在HTML页面内部以数据岛方式装载XML文件的语法如下所示: <xml src=″XML文件名″ id=″数据岛名称″ async=″false″> </xml> 其中XML文件名属性可为任何符合语法的XML文件,数据岛名称属性为该文件的别名,程序中将通过该别名来访问。async=″false″ 属性可保证在进行其他HTML处理前,装载所有的XML数据。 (2)将数据岛绑定至HTML表格: 装载XML数据后即可通过HTML表格的方式显示。将XML数据绑定至HTML表格,只需在表格中增加数据源属性即可,语法如下: <table datasrc=″#数据岛名称″> (3)将数据岛绑定至<span>或<div>元素: 将XML数据绑定至表格后,可通过<span>或<div>元素显示XML数据。只需对页面中的<span>或<div>元素设置数据源属性即可,语法如下: <span datasrc=″#数据岛名称″ datafld=″对应的XML标记″></span> <div datasrc=″#数据岛名称″ datafld=″对应的XML标记″></div> 2.应用程序开发实例 XML文件的插入、修改或检索等操作均可通过XML解析器及其提供的对象来实现。Microsoft的XML解析器通过msxml.dll动态链接库文件提供,该链接库文件为一COM对象,因此可在Windows下的任何开发语言中使用。以下以VB为例进行介绍。 在VB中使用msxml.dll提供的COM对象,需在“引用”中添加“Microsoft XML, version 2.0”或更高版本的引用。 MSXML.DLL提供的主要COM接口如下表所示: (<a href='H:\Data\pic\60090405h.jpg' target=Pic>图</a>) 下面是它的具体使用方法。 (1)定义对象: 常用XML接口对象的定义语法如下所示: Dim xml As New DOMDocument '创建DOMDocument对象 Dim root As IXMLDOMElement '创建IXMLDOMElement对象 Dim node As IXMLDOMNode '创建IXMLDOMNode对象 (2)文件操作: 常用的XML文件操作语法如下所述:(使用前述定义的XML接口对象,下同) 加载XML文件:xml.Load (XML文件名) 加载XML数据:xml.Load(XML数据字符串) 保存XML文件:xml.Save(XML文件名) (3)数据查询: 可通过DOMDocument对象来实现XML数据的查询,操作语法如下所述: 查询已知路径的节点:xml.SelectNodes(节点的绝对路径或相对路径) 该方法返回NodeList对象,如需返回单个节点可使用SelectSingleNode方法。如未查询出任何节点,则返回Nothing。 查询已知元素名的节点:由于中间层次的元素名未知,因此可使用“//”符号来代表中间节点,以查询多层次下的其他元素。 xml.SelectNodes(带“//”符号的节点路径) 查询属性节点:在属性名前添加“@”符号即可返回属性节点。 xml.SelectNodes(带“@”符号的节点路径) 查询Text节点:使用“text()”关键字即可获取Text节点。 xml.SelectSingleNode(带“text()”关键字的节点路径) 查询特定条件节点:使用“[]”符号即可查询特定条件的节点。 xml.SelectSingleNode(带“[]”符号的节点表达式) 查询多重模式节点:使用“|”符号即可获取多重模式节点。 xml.SelectNodes(带“|”符号的节点路径) 查询任意子节点:使用“*”符号即可获取当前节点的所有子节点。 xml.SelectNodes(带“*”符号的节点路径) |
-- 作者:xiaoye -- 发布时间:2005-5-20 22:47:00
-- P.S来自电脑报 |