我正在使用XSLT
输入如下
<data>
<details>
<DATA>
<name>nameValue</name>
</DATA>
<DATA>
<name>nameValue1</name>
</DATA>
<details>
<data>
XSLT
<xsl:template match="details">
<xsl:copy>
<info>
<person_name>
<xsl:value-of select="DATA/name"/>
</person_name>
</info>
</xsl:copy>
</xsl:template>
输出
<info>
<person_name>nameValue</person_name>
</info>
预期输出如下
<info>
<person_name>nameValue</person_name>
</info>
<info>
<person_name>nameValue1</person_name>
</info>
答案 0 :(得分:2)
您的XML格式不正确,因为它具有开始标记,其中应该是结束标记。但假设它看起来像这样......
<data>
<details>
<DATA>
<name>nameValue</name>
</DATA>
<DATA>
<name>nameValue1</name>
</DATA>
</details>
</data>
...您需要做的是使用xsl:for-each
选择每个子DATA
元素
<xsl:template match="details">
<xsl:copy>
<xsl:for-each select="DATA">
<info>
<person_name>
<xsl:value-of select="name"/>
</person_name>
</info>
</xsl:for-each>
</xsl:copy>
</xsl:template>