Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xslt XSL将每个_Xslt_Xslt 1.0 - Fatal编程技术网

Xslt XSL将每个

Xslt XSL将每个,xslt,xslt-1.0,Xslt,Xslt 1.0,我有如下的xml: <field index="1" name="my_field_1" type="String"> <value>Value of Field 1</value> </field> <field index="2" name="my_field_2" type="String"> <value>Value of Field 2</value> </field> <fiel

我有如下的xml:

<field index="1" name="my_field_1" type="String">
<value>Value of Field 1</value>
</field>

<field index="2" name="my_field_2" type="String">
<value>Value of Field 2</value>
</field>

<field index="3" name="my_field_3" type="String">
<value>Value of Field 3</value>
</field>

字段1的值
字段2的值
字段3的值
在以后的for-each中,我迭代这些字段,并尝试获取字段的名称(相同),并将其与index属性(取决于可能变化的元素数量)连接起来

我尝试了这个方法(我在变量中加了撇号,因为我不知道如何转义它)


'
问题是,它输出的不是选择值,而是字符串my_field_1。
输出应该是字段1的值、字段2的值等等。我需要的是动态地将name属性与index属性关联起来。

下面的转换

<?xml version="1.0" encoding="UTF-8"?>
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
        <xsl:for-each select="field">
            <xsl:value-of select="value" />
        </xsl:for-each>
    </xsl:template>
</xsl:transform>

应用于此输入

<?xml version="1.0" ?>
<root>
<field index="1" name="my_field_1" type="String">
    <value>Value of Field 1</value>
</field>

<field index="2" name="my_field_2" type="String">
    <value>Value of Field 2</value>
</field>

<field index="3" name="my_field_3" type="String">
    <value>Value of Field 3</value>
</field>
</root>

字段1的值
字段2的值
字段3的值
产生所需的输出

<?xml version="1.0"?>
Value of Field 1Value of Field 2Value of Field 3

字段1的值字段2的值字段3的值

我希望这有帮助。否则,请在评论中给我一个提示。

答案相当简单:


这段代码采用索引attr并将其与名称关联。

我认为如果您给出一个示例,说明您希望输出是什么样子会很有帮助。我将xml更新为:字段1的值字段2的值,因此输出将是字段1的值,字段2的值等等。我想我得到了它。:-)HI@heilsnoppe我需要更清晰,我需要使用索引,并用字段名连接它。因为有更多的领域,我只对其中的几个感兴趣。因此,在xsl中,我希望使用所有字段的名称,并向它们添加索引。之所以使用索引,是因为xml是自动生成的,索引的值可以从0到n。如果有意义的话。也许你可以更新你的例子,使它准确地反映你的输入和你想要的输出?对不起,我不清楚我找到了答案。我将更新问题,并添加答案。
<?xml version="1.0"?>
Value of Field 1Value of Field 2Value of Field 3