在XML中读取某个节点的某个属性怎么做呢?用<xsl:for-each>结合<xsl:attribute>可以做到。但如果想直接获取怎么做呢?
如下是bookList.xml,分别使用bookList1.xsl和bookList2.xsl实现。第一种直接输出,第二中使用属性模板。
bookList.xml如下:
<?xml version="1.0"?>
<?xml:stylesheet type="text/xsl" href="bookList2.xsl"?>
<list>
<book ID="601" name="book1">
xml
</book>
<book ID="602" name="book2">
xslt
</book>
</list>
bookList1.xsl如下:
<?xml version="1.0"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/list">
<xsl:for-each select="book">
<h1>ID:<xsl:value-of select="@ID"/></h1>
<h1>name:<xsl:value-of select="@name"/></h1>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
bookList2.xsl如下:
<?xml version="1.0"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/list">
<xsl:for-each select="book">
<xsl:apply-templates select="@ID"/>
<xsl:apply-templates select="@name"/>
</xsl:for-each>
</xsl:template>
<xsl:template match="@ID">
<h1>ID:<xsl:value-of select="."/></h1>
</xsl:template>
<xsl:template match="@name">
<h1>name:<xsl:value-of select="."/></h1>
</xsl:template>
</xsl:stylesheet>
