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

ASP
ASP字符串大写转换成小写 ASP小写转换成大写 ucase lcase
asp base64加解密函数代码
Discuz!NT 论坛整合ASP程序论坛
discuz 2.0整合asp系统,用户添加函数
P3P 和 跨域 (cross-domain) cookie 访问(读取和设置)
通过asp程序来创建access数据库
检查access数据库中是否存在某个名字的表的asp代码
asp #include file 与 #include virtual 的区别小结
一个带采集远程文章内容,保存图片,生成文件等完整的采集功能
asp 横排显示数据
asp base64 utf-8为了兼容asp.net的base64
两个非常规ASP木马(可躲过扫描)
asp DateDiff实现文字在特定时间后消失
ASP所有的Session变量获取实现代码
关于ASP eof与bof 区别分析
asp ajax注册验证之 防止用户名输入空格
asp sqlserver 执行存储过程返回记录集报对象关闭时不允许操作
ASP 获取文件扩展名函数getFileExt()
asp 简单分页代码
asp删除mssql数据库中没有记录的图片代码

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 105 ::
收藏到网摘: 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文件中将会被编辑的值。