【发布时间】:2016-08-13 02:53:15
【问题描述】:
我正在使用以下 xml 格式:
<Books>
<Book Num="1">
<Number>12335</Number>
<Year>2011</Year>
<Pages>400</Pages>
<CustomerID>1</CustomerID>
</Book>
<Book Num="2">
<Number>6954</Number>
<Year>2001</Year>
<Pages>40</Pages>
<CustomerID>2</CustomerID>
</Book>
</Books>
<Customers>
<Customer Num="1">
<Name>John</Name>
</Customer>
<Customer Num="2">
<Name>Mary</Name>
</Customer>
</Customers>
书籍通过书籍中的 CustomerID 和 Customer 上的 Num 属性连接到客户。我通过遍历书籍制作了一个表格,但需要添加一个包含当前拥有它的客户名称的列。 我尝试过这样的事情,但没有成功:
<xsl:for-each select="xml/Books/Book">
<tr>
<td>
<xsl:value-of select="Number"></xsl:value-of>
</td>
<td>
<xsl:value-of select="Year"></xsl:value-of>
</td>
<td>
<xsl:value-of select="Pages"></xsl:value-of>
</td>
<td>
<xsl:value-of select="xml/Customers/Customer[@Num = current()/@CustomerID]/Name"></xsl:value-of>
</td>
</tr>
</xsl:for-each>
有没有办法实现我的需要?
【问题讨论】: