在XSLT中,可以使用XPath表达式来选择具有特定属性的XML元素。以下是一个示例,演示如何选择具有特定属性的XML元素:
假设我们有以下XML文档:
<book id="1">
<title>Book 1</title>
<author>Author 1</author>
</book>
<book id="2">
<title>Book 2</title>
<author>Author 2</author>
</book>
<book id="3">
<title>Book 3</title>
<author>Author 3</author>
</book>
</books>
我们可以使用XPath表达式//book[@id]
来选择所有具有id
属性的book
元素。在XSLT中,我们可以使用<xsl:for-each>
元素来遍历所有匹配的元素,并使用<xsl:value-of>
元素来输出所需的值。以下是一个XSLT样本,演示如何选择具有特定属性的XML元素:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<books>
<xsl:for-each select="//book[@id]">
<book>
<xsl:attribute name="id">
<xsl:value-of select="@id"/>
</xsl:attribute>
<title>
<xsl:value-of select="title"/>
</title>
<author>
<xsl:value-of select="author"/>
</author>
</book>
</xsl:for-each>
</books>
</xsl:template>
</xsl:stylesheet>
在这个例子中,我们使用<xsl:for-each select="//book[@id]">
来遍历所有具有id
属性的book
元素。然后,我们使用<xsl:attribute>
元素来创建一个新的id
属性,并使用<xsl:value-of>
元素来输出属性的值。最后,我们使用<xsl:value-of>
元素来输出title
和author
元素的值。
这个XSLT样本将输出以下XML文档:
<book id="1">
<title>Book 1</title>
<author>Author 1</author>
</book>
<book id="2">
<title>Book 2</title>
<author>Author 2</author>
</book>
<book id="3">
<title>Book 3</title>
<author>Author 3</author>
</book>
</books>
这个输出显示了所有具有id
属性的book
元素,以及它们的title
和author
元素的值。
领取专属 10元无门槛券
手把手带您无忧上云