gpt4 book ai didi

html - XSLT:for-each in for-each 不起作用?

转载 作者:数据小太阳 更新时间:2023-10-29 02:58:43 26 4
gpt4 key购买 nike

我有一个 XML 文件,它看起来像:

<VersionHistory>
<Release Version="0.0.1" Date="27/1/2011">
<NewFeature>foo</NewFeature>
<BugFix>some text</BugFix>
<BugFix>some text</BugFix>
<BugFix Ticket="12004">some text</BugFix>
</Release>
<Release Version="0.0.2" Date="15/2/2011">
<NewFeature>foobar</NewFeature>
<BugFix>some more text</BugFix>
<BugFix>some more text</BugFix>
<BugFix Ticket="12001">some more text</BugFix>
</Release>
</VersionHistory>

现在我的 XSLT 看起来像这样:

  <xsl:template match="/">
<xsl:for-each select="VersionHistory/Release">
<xsl:sort select="@Version"/>
<ul>
<li>
<h3>New Feature<br/></h3>
<xsl:for-each select="NewFeature">
<ul>
<li>
<xsl:value-of select="NewFeature"/>
</li>
</ul>
</xsl:for-each>
</li>
<h3>
Fixed<br/>
</h3>
<xsl:for-each select="BugFix">
<ul>
<li>
<p>
<xsl:value-of select="BugFix"/>
</p>
</li>
</ul>
</xsl:for-each>
</li>
...

我的问题是,通过 BugFixes 的第二个 for-each 创建了 xml 包含此元素的列表项的数量。但我没有得到介于 .为什么?我该如何解决这个问题?

当然,这不仅适用于 BugFix.. 它适用于所有这些元素,如 BugFix、NewFeature(还有更多......我没有在这里列出)

问候

最佳答案

在您的 for-each 中,您选择 NewFeature,然后在 value-of 中,您将调用 的值名为 NewFeature 的子节点:

      <xsl:for-each select="NewFeature">
<ul>
<li>
<xsl:value-of select="NewFeature"/>
</li>
</ul>
</xsl:for-each>

由于 NewFeature包含 NewFeature 节点,您什么也看不到。

这可行(在 for-each 循环中选择 current 节点):

      <xsl:for-each select="NewFeature">
<ul>
<li>
<xsl:value-of select="."/>
</li>
</ul>
</xsl:for-each>

但更好的选择是使用模板(您应该使用 所有 for-each 循环):

<xsl:template match="NewFeature">
<ul>
<li><xsl:value-of select="."/></li>
</ul>
</xsl:template>

关于html - XSLT:for-each in for-each 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8011467/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com