用XSL.ASP编辑XML文档
2018-09-06 10:43
简介
本文是保存至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 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>/field_value>
</field>
</contact>
本文举例用到的xml(标准化越来越近了)文件与 保存HTML表格至xml(标准化越来越近了)一文中的举例一样。因此你能够更直观的观察到其中的关联之处。
XSL File: contact.xsl:
<?xml(标准化越来越近了) version=1.0?>
<xsl:stylesheet xml(标准化越来越近了)ns: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域。
上一篇:Asp Object 之