Xml 如果value属性的内容是字符串列表,如何获取它们并在XSLT中拆分它们?

Xml 如果value属性的内容是字符串列表,如何获取它们并在XSLT中拆分它们?,xml,list,xslt,xml-parsing,xslt-1.0,Xml,List,Xslt,Xml Parsing,Xslt 1.0,我有一个xml数据节点: <data field="field_value" value="["value1", "value2"]"> Evacuate - Relocate as instructed in the instruction, Prepare - Make preparations per the instruction </data> 疏散-按照说明重新安置,准备-按照说明进行准备 我想获取value属性(val

我有一个xml数据节点:

<data field="field_value" value="["value1", "value2"]">
Evacuate - Relocate as instructed in the instruction, Prepare - Make preparations per the                  instruction
</data>

疏散-按照说明重新安置,准备-按照说明进行准备
我想获取value属性(value1和value2)的内容,并将它们拆分为如下节点:

<fieldValue>value1</fieldValue>
<fieldValue>value2</fieldValue>
value1
价值2
现在我试着这样做:

<xsl:if test="data[@field='field_value']">
    <xsl:call-template name="split-into-nodes">
        <xsl:with-param name="string"><xsl:value-of  select="data[@field='field_value']/@value"/>
        </xsl:with-param>
        <xsl:with-param name="node-name">fieldValue</xsl:with-param>
    </xsl:call-template>
</xsl:if>

字段值
但我得到的结果有点奇怪:

<fieldValue>["value1"</fieldValue>
<fieldValue>"value2"]</fieldValue>
[“值1”
“价值2”]

请帮忙…提前谢谢

您的源不是格式良好的XML,将不会被解析

文件的实际内容可能是:

<data field="field_value" value="[&quot;value1&quot;, &quot;value2&quot;]">
    Evacuate - Relocate as instructed in the instruction, Prepare - Make preparations per the instruction
</data>

您的源不是格式良好的XML。我很惊讶这居然会起作用。实际内容可能是
value=“[“value1”、“value2”]”
。在这种情况下,您可以使用
translate()
$string
中删除
字符和
[
]
<xsl:with-param name="string">
    <xsl:value-of  select="translate(data[@field='field_value']/@value, '&quot;][', '')"/>
</xsl:with-param>