现在的位置: 首页 > 综合 > 正文

XML实用教程

2013年09月18日 ⁄ 综合 ⁄ 共 13553字 ⁄ 字号 评论关闭
可扩展置标语言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(带“*”符号的节点路径)
 

抱歉!评论已关闭.