XSLT脚本问题:如何将XML多ID转为独立Test节点?
XSLT脚本问题修正
你的代码问题出在<xsl:for-each>的选择范围上:
- 原代码里
select="root"只会遍历唯一的<root>节点,因此只会生成一个<Test>标签 <xsl:value-of select="." />取的是<root>节点的全部文本内容(包含两个<ID>的文本以及原XML中的换行、空格),所以输出会把两个ID值放在同一个Test标签里
修正后的XSLT代码
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <batchParts> <!-- 遍历root下的每个ID节点 --> <xsl:for-each select="root/ID"> <Test><xsl:value-of select="." /></Test> </xsl:for-each> </batchParts> </xsl:template> </xsl:stylesheet>
修正后输出结果
<?xml version="1.0" encoding="UTF-8"?><batchParts> <Test>12345563</Test> <Test>12345564</Test> </batchParts>
内容的提问来源于stack exchange,提问作者jimboextended
相关产品推荐
相关产品推荐

