XSLT 1.0-每个节点的字符串到XML
我需要将特定节点的内容从字符串转换为XML,用生成的XML替换该节点。此节点可以是数组。所以我可能需要为每个指令使用,但我不知道如何 我将下面的XML作为示例:XSLT 1.0-每个节点的字符串到XML,xml,xslt,xslt-1.0,Xml,Xslt,Xslt 1.0,我需要将特定节点的内容从字符串转换为XML,用生成的XML替换该节点。此节点可以是数组。所以我可能需要为每个指令使用,但我不知道如何 我将下面的XML作为示例: <?xml version="1.0" encoding="UTF-8"?> <NodeA><NodeB><tagA xmlns="http://www.aaa.com"><tagB>valor1</tagB>&a
<?xml version="1.0" encoding="UTF-8"?>
<NodeA><NodeB><tagA xmlns="http://www.aaa.com"><tagB>valor1</tagB></tagA></NodeB><NodeB><tagA xmlns="http://www.aaa.com"><tagB>valor2</tagB></tagA></NodeB></NodeA>
塔加xmlns=”http://www.aaa.com“tagBvalor1/tagB/tagAtagA xmlns=”http://www.aaa.com“tagBvalor2/tagB/tagA
我正在使用下面的XSLT
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="//NodeB">
<xsl:value-of select="/" disable-output-escaping="yes"/>
</xsl:template>
结果是字符串被转换为XML,NodeB被替换,但它被复制,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<NodeA>
<tagA xmlns="http://www.aaa.com">
<tagB>valor1</tagB>
</tagA>
<tagA xmlns="http://www.aaa.com">
<tagB>valor2</tagB>
</tagA>
<tagA xmlns="http://www.aaa.com">
<tagB>valor1</tagB>
</tagA>
<tagA xmlns="http://www.aaa.com">
<tagB>valor2</tagB>
</tagA>
</NodeA>
瓦洛尔1
瓦洛尔2
瓦洛尔1
瓦洛尔2
我需要以下结果:
<?xml version="1.0" encoding="UTF-8"?>
<NodeA>
<tagA xmlns="http://www.aaa.com">
<tagB>valor1</tagB>
</tagA>
<tagA xmlns="http://www.aaa.com">
<tagB>valor2</tagB>
</tagA>
</NodeA>
瓦洛尔1
瓦洛尔2
例如,如果我在数组中有3个节点,结果将是三倍的。我认为不是
<xsl:template match="//NodeB">
<xsl:value-of select="/" disable-output-escaping="yes"/>
</xsl:template>
你想要
<xsl:template match="NodeB">
<xsl:value-of select="." disable-output-escaping="yes"/>
</xsl:template>