欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

用XSL.ASP编辑XML文档

程序员文章站 2022-04-03 17:15:24
简介  本文是"保存至HTML 表格数据至xml(标准化越来越近了)"的姐妹篇。如果你没读过上文,我建议您最好先浏览一下。本文是建立在上文基础之上的。关于上文的举例,读者不断给予了...
简介

  本文是"保存至HTML 表格数据至xml(标准化越来越近了)"的姐妹篇。如果你没读过上文,我建议您最好先浏览一下。本文是建立在上文基础之上的。关于上文的举例,读者不断给予了肯定的回应,同样的,很多人都想知道如何编辑xml(标准化越来越近了)数据。因此,我写下了此文。

  使用XSL状态下:打开一个xml(标准化越来越近了)文件,确定将对它进行编辑、传送至HTML表单,并最终将传送到浏览器。 此xml(标准化越来越近了)元素的值将会被设置成HTML输入域的值。在这些必要的编辑后,则可将这些经处理的信息提交至服务器,xml(标准化越来越近了)文件同时也被更新。

  第一步LOAD你将会编辑并在浏览器以HTML表格形式出现的文件。在以下的举例中,xml(标准化越来越近了)在服务器上的变化被我跳过了,在使用微软的xml(标准化越来越近了)DOM 目标下,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 Haver*</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>mqualls@vertiscope.com</field_value>
   </field>
  </contact>
  本文举例用到的xml(标准化越来越近了)文件与 "保存HTML表格至xml(标准化越来越近了)"一文中的举例一样。因此你能够更直观的观察到其中的关联之处。

  XSL File: contact.xsl:

  <?xml(标准化越来越近了) version="1.0"?>
  <xsl:stylesheet xml(标准化越来越近了)ns:xsl="https://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(标准化越来越近了)文件中将会被编辑的值。

  我之所以把"ID"从xml(标准化越来越近了)文件中的"域"元素里提出来,并把它置于XSL文件中的HTML文本域中,是为了不至于混淆并且可以促进命名的连贯性。这样的话,不太熟悉编码知识的朋友也能分辨出哪个xml(标准化越来越近了)域配哪 个HTML域。