我们有一个当前系统输出XML文件,格式如下:
<INVENTORY>
<ITEM>
<SERIALNUMBER>something</SERIALNUMBER>
<LOCATION>something</LOCATION>
<BARCODE>something</BARCODE>
</ITEM>
</INVENTORY>
Run Code Online (Sandbox Code Playgroud)
我需要使用此数据加载到标准的.NET 2.0网格中.但是网格需要XML采用以下格式:
<INVENTORY>
<ITEM serialNumber="something" location="something" barcode="something">
</ITEM>
</INVENTORY>
Run Code Online (Sandbox Code Playgroud)
即项目的子节点需要转换为项目节点的属性.
有人知道如何使用XSLT完成此操作吗?
Joh*_*iss 28
这应该工作:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="INVENTORY">
<INVENTORY>
<xsl:apply-templates/>
</INVENTORY>
</xsl:template>
<xsl:template match="ITEM">
<ITEM>
<xsl:for-each select="*">
<xsl:attribute name="{name()}">
<xsl:value-of select="text()"/>
</xsl:attribute>
</xsl:for-each>
</ITEM>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)
HTH
归档时间: |
|
查看次数: |
24090 次 |
最近记录: |