⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xml技术系列讲座(7)通过dom操作数据(上) - fanqiang_com.htm

📁 详细的讲述了XML相关知识
💻 HTM
📖 第 1 页 / 共 2 页
字号:
              <TR>
                <TD class=a14>下面以books.xml为例说明各种方法的使用:</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>&lt;xml id=“dsoBooks”&gt;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>&lt;?xml 
                  version=“1.0”?&gt;&lt;booklist&gt;&lt;book&gt;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>&lt;title&gt;The Gourmet Microwave&lt;/title&gt; 
                </TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
            class=a14>&lt;price&gt;9.95&lt;/price&gt;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>&lt;author&gt;Charlotte M. 
                Cooper&lt;/author&gt;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>&lt;author&gt;Shelley B. 
              Burke&lt;/author&gt;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>&lt;author&gt;Regina P. 
              Murphy&lt;/author&gt;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>&lt;/book&gt;&lt;book&gt;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>&lt;title&gt;Sushi, Anyone?&lt;/title&gt; 
              </TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
                  class=a14>&lt;price&gt;14.99&lt;/price&gt;&lt;/book&gt;&lt;book&gt;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>&lt;title&gt;Straight Talk About 
                  Computers&lt;/title&gt; 
              &lt;price&gt;19.99&lt;/price&gt;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>&lt;author&gt;Lars 
              Peterson&lt;/author&gt;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
              class=a14>&lt;/book&gt;&lt;/booklist&gt;&lt;/xml&gt;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>建立对第二个&lt;book&gt;元素的引用:</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>Set theNode 
                  =dsoBooks.XMLDocument.documentElement.childNodes(1)</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>● 
                  根节点:theNode.ownerDocument返回Document节点,指向XML文档本身;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>● 
                  兄弟节点:theNode.previousSibling返回第1个&lt;book&gt;元素,theNode.nextSibling返回第3个&lt;book&gt;元素;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>● 
              父节点:theNode.parentNode返回&lt;booklist&gt;元素;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>● 
                  子节点:theNode.firstChild返回&lt;title&gt;元素,theNode.lastChild返回&lt;price&gt;元素,theNode.childNodes返回子节点集合,包括Sushi下面的所有元素。节点记数从0开始,即theNode.childNodes(0)的结果与theNode.firstChild的结果是一样的。</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>获得节点的引用后,就可以读取节点的相关信息:</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>● 
                  节点类型:theNode.nodeType,本例为1,Document对象类型为9,元素类型为1,属性类型为2;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>● 
            节点名称:theNode.nodeName,本例为book;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>● 
                  节点值:theNode.nodeValue,本例为null,对于Attr节点,返回的是属性值,而对于Element节点,返回的是null。</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
            class=a14>在MSXML中,对Node对象还提供了一些额外的方法和属性:</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>● 
                  nodeTypeString:用字符串的方式显示节点类型,如theNode.nodeTypeString的结果是“element”;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>● text: 显示当前节点及其所有子节点的文本内容;</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>● 
            xml:获取XML文档数据,通常是从根元素开始的所有内容。</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14><B>4、XML格式的动态转换</B></TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
                  class=a14>通过学习XSL,我们已经能够使用样式单对XML文档进行转换。但这种过程是静态的,即在编写代码时,已经指定了作用在XML上的XSL文件,在程序运行过程中不能再做改变。而利用DOM,我们能够实现XML格式的动态转换,即在程序运行时,将XSL载入并对XML文档进行转换。</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
                class=a14>把XSL载入DOM对象的步骤基本上与XML文档的载入过程是一样的(XSL本身就是XML文档):</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>Set stylesheet = 
                CreateObject(“Microsoft.XMLDOM”)</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>stylesheet.async = False</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>stylesheet.load 
              “TransformDetails.xsl”</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
                  class=a14>DOM提供了两个函数进行这种转换,作用对象可以是树中任何节点。这样就可以实现对DOM树的任意的部分进行格式转换。</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>● 
                  transformNodeToObject方法:该方法需要两个参数,第一个参数指向XSL文件,第二个参数存放转换后的XML数据的节点。例如:</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>Set targetNode = 
                CreateObject(“Microsoft.XMLDOM”)</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>srcNode.transformNodeToObject stylesheet, 
                  targetNode</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>● 
                  transformNode方法:该方法只需要一个参数指明XSL文件。如下例是将源节点转换为一个字符串变量str:</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD class=a14>str = 
              srcNode.transformNode(stylesheet)</TD></TR></TBODY></TABLE>
            <TABLE width=620 align=center>
              <TBODY>
              <TR>
                <TD 
                  class=a14>上面介绍的方法在服务器上一样可以实现,而且更具实际意义:服务器可以根据客户端的不同身份,使用不同的样式单进行转换,同一份XML文档呈现在不同用户面前的形式是不一样的!</TD></TR><!--HTML_END--><BR><!-- 正文end --><BR>(http://www.fanqiang.com)<BR></FONT><BR><FONT 
              color=#999999><SMALL></SMALL></FONT><BR></TD></TR></TBODY></TABLE><BR></FONT></TD></TR></TBODY></TABLE>
      <TABLE cellSpacing=0 cellPadding=0 width=750 border=0>
        <TBODY>
        <TR>
          <TD align=middle width=620>
            <TABLE cellSpacing=0 cellPadding=0 width=562 border=0>
              <TBODY>
              <TR>
                <TD width=562>
                  <TABLE cellSpacing=0 cellPadding=0 width=562 border=0>
                    <TBODY>
                    <TR>
                      <TD></TD></TR>
                    <TR>
                      <TD height=10></TD></TR></TBODY></TABLE><!--结束:底部-->
                  <TABLE width=750 border=0>
                    <TBODY>
                    <TR>
                      <TD width="100%" bgColor=#d09f0d colSpan=5 height=2><IMG 
                        height=1 
                        src="XML技术系列讲座(7)通过DOM操作数据(上) - fanqiang_com.files/c.gif" 
                        width=1></TD></TR>
                    <TR>
                      <TD vAlign=top width="100%" colSpan=5 height=40>
                        <P align=center><FONT color=#ffffff>★&nbsp;&nbsp;樊强制作 
                        欢迎分享&nbsp;&nbsp;★ </FONT></P></TD></TR></TBODY></TABLE>
                  <CENTER></CENTER></TR></TBODY></TABLE></TR></TBODY></TABLE></TR></TBODY></TABLE></CENTER></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -