下面是我的xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited by XMLSpy® -->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>price</th>
</tr>
<xsl:for-each select="library/book/authors/author[first='Harry'and last='Potter'] ">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="price"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
下面是我的XSL样式表
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited by XMLSpy® -->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>price</th>
</tr>
<xsl:for-each select="library/book/authors/author[first='Harry'and last='Potter'] ">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="price"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
我无法显示标题和价格,因为它们是父元素,我正在为我的子元素给定条件。我需要显示有关我的父母元素的信息。
您可以使用"../"访问XPath表达式中的父节点。例如:
<xsl:value-of select="../../title"/>
<xsl:value-of select="../../price"/>
在这种情况下,我倾向于建议您使用谓词,以便for-each
对book
元素而不是author
元素进行操作:
<xsl:for-each select="library/book[authors/author[first='Harry'and last='Potter']] ">
上面写着"选择所有至少有一位名叫哈利·波特的作者的书元素"。