2 qq793076808 qq793076808 于 2015.06.05 10:39 提问

XSLT 实现字符串的连接,请大神看下
 <data>
  <field name='id'>123</field>
  <field name='id'>abc</field>
</data>

 <data>
  <field name='id'>123|abc</field>
</data>

需求:就是把相同节点,相同属性的值,连接成一个字符串,并用|分隔符隔开。

2个回答

Tiger_Zhao
Tiger_Zhao   Rxr 2015.06.08 09:06
已采纳
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" version="1.0" encoding="iso-8859-1" indent="yes"/>

    <xsl:template match="/">
    <xsl:for-each select="data">
        <data>
            <field name='id'>
                <xsl:for-each select="field">
                    <xsl:if test="position()=1"><xsl:value-of select="."/></xsl:if>
                    <xsl:if test="position()!=1">|<xsl:value-of select="."/></xsl:if>
                </xsl:for-each>
            </field>
        </data>
    </xsl:for-each>
    </xsl:template>
    </xsl:stylesheet>
Tiger_Zhao
Tiger_Zhao   Rxr 2015.06.05 14:21

不是单纯的XSLT可以转化的。XSL只能判断父子关系、匹配节点或属性,不能对兄弟关系的节点进行比较。

qq793076808
qq793076808 我这不是进行比较呢,我只是想把这2个值组合起来成为1个值,XSLT不能实现吗?
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片