我被一个 xslt for-each-loop 困住了。
xml源文件为:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="party.xsl"?>
<party date="31.12.01">
<guest name="Albert">
<drink>wine</drink>
<drink>beer</drink>
<status single="true" sober="false" />
</guest>
<guest name="Martina">
<drink>apple juice</drink>
<status single="true" sober="true" />
</guest>
<guest name="Zacharias">
<drink>wine</drink>
<status single="false" sober="false" />
</guest>
</party>
我想得到以下输出:
- 阿尔伯特饮品:葡萄酒、啤酒、
- 玛蒂娜饮品:苹果汁
- 撒迦利亚饮品:酒,
因此我编写了以下 XSLT 文件:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head></head>
<body bgcolor="white">
<xsl:for-each select="party/guest">
<ul><li><b><xsl:value-of select="@name"/></b>
<xsl:text> drinks: </xsl:text>
<xsl:value-of select="drink"/>
<xsl:text>, </xsl:text>
</li></ul>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
使用上面的 XSLT 文件,我得到以下输出:
- 阿尔伯特饮品:葡萄酒,
- 玛蒂娜饮品:苹果汁,
- 撒迦利亚饮品:酒,
我如何更改我的 XSLT 文件,以便从显示的客人中获取所有饮料?非常感谢你的支持!