首页 > 解决方案 > 将 XML 注入变量并且循环不起作用 - “已解决”

问题描述

我正在尝试将动态生成的 XML 分配给 xsl 变量,然后我想从那里循环它。但我从来没有从循环中得到任何信息或结果。因此,我尝试像这样在 xslt 文件中手动添加 XML,以向您展示我期望或尝试使用的内容:

<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:php="http://php.net/xsl">

    <xsl:output method="text" encoding="utf-8" />

    <xsl:variable name="websites">
    <SHOP><WEBSITE><STORE_VIEW_CODE>ca_en</STORE_VIEW_CODE><LANGUAGE>en</LANGUAGE></WEBSITE><WEBSITE><STORE_VIEW_CODE>nl_nl</STORE_VIEW_CODE><LANGUAGE>nl</LANGUAGE></WEBSITE></SHOP>
    </xsl:variable>

    <xsl:template match="/">
        <xsl:for-each select="$websites">
            <xsl:apply-templates select="WEBSITE"/>
        </xsl:for-each>
    </xsl:template>

    <xsl:template match="WEBSITE">
        <xsl:text>FOUND SOMETHING</xsl:text>
    </xsl:template>

但是从那个循环中没有返回任何东西。我可以使用 value-of 并选择网站变量,然后我会看到整个内容,但我想遍历节点以提取文本。

更新 node-set 的两个答案和更多详细信息的链接解决了我的问题。

标签: xsltxslt-1.0

解决方案


推荐阅读