使用 XSLT 循环 XML 标签

发布于 2024-10-28 08:24:16 字数 380 浏览 1 评论 0原文

我有一个 XML,其中包含以下内容:

<ruletypes>
 <ruletype>Local</ruletype>
 <ruletype>Global</ruletype>
 ...
</ruletypes>

我想要一个规则类型列表,我尝试了以下操作:

<xsl:for-each select="//ruletypes/ruletype">
 <li><xsl:value-of select="ruletype"/></li>
</xsl:for-each>

但它不起作用

I have an XML which has the following content:

<ruletypes>
 <ruletype>Local</ruletype>
 <ruletype>Global</ruletype>
 ...
</ruletypes>

I'm wanting a list of the ruletypes, I tried the following:

<xsl:for-each select="//ruletypes/ruletype">
 <li><xsl:value-of select="ruletype"/></li>
</xsl:for-each>

but it's not working

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

鼻尖触碰 2024-11-04 08:24:16

像这样更改选择:

<xsl:template match="/">
<xsl:for-each select="//ruletypes/ruletype">
      <li><xsl:value-of select="."/></li>
</xsl:for-each>

change the select like this:

<xsl:template match="/">
<xsl:for-each select="//ruletypes/ruletype">
      <li><xsl:value-of select="."/></li>
</xsl:for-each>

迷爱 2024-11-04 08:24:16

避开 for-each 并让 XSLT 处理器完成大部分工作:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="ruletype">
        <li><xsl:apply-templates/></li>
    </xsl:template>
</xsl:stylesheet>

应用于此文档时:

<ruletypes>
   <ruletype>Local</ruletype>
   <ruletype>Global</ruletype>
</ruletypes>

产生以下输出:

<li>Local</li>
<li>Global</li>

请注意,这利用了 XSLT 的 元素的内置模板,它使处理继续进行,直到遇到“有趣的”节点,并且其内置在文本节点的模板中,通过它复制文本。

Eschew for-each and let the XSLT processor do most of the work:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="ruletype">
        <li><xsl:apply-templates/></li>
    </xsl:template>
</xsl:stylesheet>

When applied to this document:

<ruletypes>
   <ruletype>Local</ruletype>
   <ruletype>Global</ruletype>
</ruletypes>

Produces the following output:

<li>Local</li>
<li>Global</li>

Note that this takes advantage of XSLT's built-in template for elements, which keeps the processing moving until an "interesting" node is encountered, and its built-in template for text nodes, which copies text through.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文