如何在 xsl 中获取 xml 结点的属性名称 ?
xml文件:
<?xml version= "1.0 " encoding= "GB2312 "?>
<?xml-stylesheet type= "text/xsl " href= "arcxml.xsl "?>
<ARCXML version= "1.1 ">
<FEATURE>
<FIELDS ID= "11 " USER_ID= "12 " NAME= "名称1 " />
</FEATURE>
</ARCXML>
目标是输出如下的格式:
ID : 11
USER_ID : 12
NAME : 名称1
问题的关键是:FIELDS 结点的属性ID,USER_ID,NAME 是动态变化的,即上面的xml文件格式相对固定,但FIELDS 结点的属性是变化的,所以通过代码获得各属性的名称是关键所在。
请赐教。。不胜感激。。。
[解决办法]
<?xml version= '1.0 ' encoding= 'gb2312 '?>
<xsl:stylesheet xmlns:xsl= "http://www.w3.org/TR/WD-xsl ">
<xsl:template match= "/ ">
<xsl:apply-templates select= "//FIELDS "/>
</xsl:template>
<xsl:template match= "//FIELDS ">
ID: <xsl:value-of select= "@ID "/> <br/>
USER_ID: <xsl:value-of select= "@USER_ID "/> <br/>
NAME: <xsl:value-of select= "@NAME "/> <br/>
</xsl:template>
</xsl:stylesheet>
[解决办法]
yizia(椅子) 强
按位置读取
[解决办法]
<?xml version= "1.0 " encoding= "gb2312 "?>
<xsl:stylesheet version= "1.0 " xmlns:xsl= "http://www.w3.org/1999/XSL/Transform ">
<xsl:template match= "/ ">
<xsl:for-each select= "ARCXML/FEATURE/FIELDS ">
<xsl:for-each select= "@* ">
<xsl:value-of select= "name() "/> :
<xsl:value-of select= ". "/>
<br/>
</xsl:for-each>
<br/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>