我有大量的xml文件:
第一:
<xmldata1>
<record>
<property11>abc</property11>
<property12>def</property12>
<property13>xyz</property13>
............
</record>
........
</xmldata1>
Run Code Online (Sandbox Code Playgroud)
第二:
<xmldata2>
<record>
<property21>abc</property21>
<property22>def</property22>
<property23>xyz</property23>
............
</record>
........
</xmldata2>
Run Code Online (Sandbox Code Playgroud)
等等.
将不再有嵌套标签.但是每个xmldata文件的属性标记名称都不同.
所以我想动态生成一个HTML
Form XSLT
,用于读取每个的数据xml
.应使用简单的文本框来读取每个属性.我们可以将第一条记录作为属性数量和名称的参考.
所需的输出
<form name ="xmldata1">
<table>
<tr>
<td>property11 :</td>
<td><input type="text" name="property11"></td>
</tr>
.......
and so on
</table>
</form>
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点.我在哪里可以找到这样的示例.
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes" />
<!--Template match for the document element, no matter what the name -->
<xsl:template match="/*">
<form name="{local-name()}">
<table>
<!--Apply-templates for all of the record/property elements -->
<xsl:apply-templates select="*/*"/>
</table>
</form>
</xsl:template>
<!--Match on all of the property elements and create a new row for each -->
<xsl:template match="/*/*/*">
<tr>
<td><xsl:value-of select="local-name()"/> :</td>
<td><input type="text" name="{local-name()}"/></td>
</tr>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8201 次 |
最近记录: |