正 文

如何使用XSL读取XML中某一节点的某个属性


www.7dspace.com  更新日期:2005-12-24 7:49:12  七度空间


在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>


上一篇:关于SAX解析xml文件的问题
下一篇:教你架设安全的交换机系统
作者:  来源:csdn ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐