好的,我正在尝试打印与名称相等的古奇斯/奇迹下的每一个元素,但当我这样做时:
<xsl:for-each select="ancient_wonders/wonder">
<xsl:value-of select="./name"/>
</xsl:for-each>它只打印与名称相等的第一个元素。以下是我的xml:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="02-03.xsl"?>
<ancient_wonders>
<wonder>
<location>
Rhodes, Greece
</location>
<name language="English">
Christ of Brasil
</name>
<name language="English">
Colossus of Rhodes
</name>
<name language="Chinese">
Great Wall of China
</name>
</wonder>
有人能给我解释一下怎么做吗。
发布于 2013-10-14 18:46:30
您的XML中只有一个元素,但是有多个名称元素。xsl:for-每个循环在 will 元素上,因此只迭代一次。如果您想输出名称元素,请迭代这些.
<xsl:for-each select="ancient_wonders/wonder/name">
<xsl:value-of select="."/>
</xsl:for-each>或者,如果您确实有多个奇迹(例如,可以使用嵌套的)
<xsl:for-each select="ancient_wonders/wonder">
Location: <xsl:value-of select="location" />
<xsl:for-each select="name">
<xsl:value-of select="."/>
</xsl:for-each>
</xsl:for-each>https://stackoverflow.com/questions/19366916
复制相似问题