当前位置: 首页 > 图文教程 > 网络编程 > ASP > 用XSL.ASP编辑XML文档(1)

ASP
ASP调用ORACLE存储过程并返回结果集
用ASP实现网页BBS
关于Global.asa文件的深入研究与session变量失效提示的具体方法
简易ASP+注册系统
防护手册:如何防止ASP木马在服务器上运行
用Visual Basic实现多画面播放功能之二
如何增强ASP程序性能(1)
如何增强ASP程序性能(2)
如何增强ASP程序性能(3)
ASP备份数据库
二十八条改善 ASP 性能和外观的技巧
在Form域中Post大于100K的数据
如何使用ASP制作模似动态生长的表单?
Microsoft IIS 真的如此「不安全」吗?(1)
Microsoft IIS 真的如此「不安全」吗?(2)
Microsoft IIS 真的如此「不安全」吗?(3)
Microsoft IIS 真的如此「不安全」吗?(4)
Microsoft IIS 真的如此「不安全」吗?(5)
关于页面和代码分离
ServerVariables 对路径的操作

用XSL.ASP编辑XML文档(1)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 23 ::
收藏到网摘: n/a

      
  
  简介
  
    本文是"保存至HTML 表格数据至XML"的姐妹篇。如果你没读过上文,我建议您最好先浏览一下。本文是建立在上文基础之上的。关于上文的举例,读者不断给予了肯定的回应,同样的,很多人都想知道如何编辑XML数据。因此,我写下了此文。
  
    使用XSL状态下:打开一个XML文件,确定将对它进行编辑、传送至HTML表单,并最终将传送到浏览器。 此XML元素的值将会被设置成HTML输入域的值。在这些必要的编辑后,则可将这些经处理的信息提交至服务器,XML文件同时也被更新。
  
    第一步LOAD你将会编辑并在浏览器以HTML表格形式出现的文件。在以下的举例中,XML在服务器上的变化被我跳过了,在使用微软的XMLDOM 目标下,XML文件是能被XSL文件转化的。我们在此同样可以用到这个技巧来转化XML文件。
  
    XML File: contact.xml:
    <?xml version="1.0" ?>
    <contact>
     <field id="firstName" taborder="1">
      <field_value>Michael</field_value>
     </field>
     <field id="lastName" taborder="2">
      <field_value>Qualls</field_value>
     </field>
     <field id="address1" taborder="3">
      <field_value>202 East Haverbrook</field_value>
     </field>
     <field id="address2" taborder="4">
      <field_value>Oklahoma City, OK 73114</field_value>
     </field>
     <field id="phone" taborder="5">
      <field_value>4055551234</field_value>
     </field>
     <field id="email" taborder="6">
      <field_value>[email protected]</field_value>
     </field>
    </contact>
    本文举例用到的XML文件与 "保存HTML表格至XML"一文中的举例一样。因此你能够更直观的观察到其中的关联之处。
  
    XSL File: contact.xsl:
  
    <?xml version="1.0"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
    <xsl:template match="/">
    <html>
    <body>
     <form method="post" action="EditContact.asp">
     <h1>Edit Contact:</h1>
     <table border="1" cellpadding="2">
     <xsl:for-each select="contact/field">
     <tr>
      <td>
       <xsl:value-of select="@id"/>
      </td>
      <td>
       <input type="text">
       <xsl:attribute name="id">
       <xsl:value-of select="@id" />
       </xsl:attribute>
       <xsl:attribute name="name">
       <xsl:value-of select="@id" />
       </xsl:attribute>
       <xsl:attribute name="value">
       <xsl:value-of select="field_value" />
       </xsl:attribute>
       </input>
      </td>
      </tr>
      </xsl:for-each>
     </table>
     <input type="submit" id="btnSubmit" name="btnSubmit" value="Submit" />
     </form>
     </body>
     </html>
     </xsl:template>
     </xsl:stylesheet>
    这个XSL文件使用了for-each XSL元素,使之在XSL文件的元素中反复。
  
    由此根元素开始,每个XML"域"元素的"ID"被写成了HTML文本域的"ID"和"NAME"。
  
    同样,XML文件中"域值/FIELD_VALUE"元素的值也被写成为每个HTML文本域中的"值/value"。最后的结果自然是HTML格式包含了来自XML文件中将会被编辑的值。