新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 关于 XML 的一般性技术讨论,提供 XML入门资料 和 XML教程
    [返回] 计算机科学论坛XML.ORG.CN讨论区 - XML技术『 XML基础 』 → XML实用教程 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 2675 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: XML实用教程 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     xiaoye 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:2
      积分:60
      门派:XML.ORG.CN
      注册:2005/5/19

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给xiaoye发送一个短消息 把xiaoye加入好友 查看xiaoye的个人资料 搜索xiaoye在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看xiaoye的博客楼主
    发贴心情 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(带“*”符号的节点路径)


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/5/20 22:46:00
     
     xiaoye 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:2
      积分:60
      门派:XML.ORG.CN
      注册:2005/5/19

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给xiaoye发送一个短消息 把xiaoye加入好友 查看xiaoye的个人资料 搜索xiaoye在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看xiaoye的博客2
    发贴心情 
    P.S来自电脑报
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/5/20 22:47:00
     
     crazyheihei 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:2
      积分:62
      门派:XML.ORG.CN
      注册:2005/5/21

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给crazyheihei发送一个短消息 把crazyheihei加入好友 查看crazyheihei的个人资料 搜索crazyheihei在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看crazyheihei的博客3
    发贴心情 
    太复杂了。。我刚来。。有谁能教教我了。我QQ:147620281

    我很想学习。

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/5/21 12:57:00
     
     那面海 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:10
      积分:94
      门派:XML.ORG.CN
      注册:2005/3/5

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给那面海发送一个短消息 把那面海加入好友 查看那面海的个人资料 搜索那面海在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看那面海的博客4
    发贴心情 
    请问是从哪里转的?
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/5/22 16:08:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XML基础 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2025/8/14 18:43:40

    本主题贴数4,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    125.000ms