You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用XSLT 1.0转换XML 拆分|分隔的多图片链接为单独字段

XSLT 1.0 拆分竖线分隔图片链接实现方案

实现逻辑

XSLT 1.0 无内置字符串拆分函数,通过递归模板实现竖线分隔符的字符串拆分,同时保留其他原有节点不变。

完整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="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>

    <!-- 匹配ImageURL节点,调用拆分模板 -->
    <xsl:template match="ImageURL">
        <xsl:call-template name="splitImageURL">
            <xsl:with-param name="urlStr" select="."/>
            <xsl:with-param name="index" select="1"/>
        </xsl:call-template>
    </xsl:template>

    <!-- 递归拆分模板:按|拆分字符串,生成带序号的ImageURL节点 -->
    <xsl:template name="splitImageURL">
        <xsl:param name="urlStr"/>
        <xsl:param name="index"/>
        <xsl:choose>
            <xsl:when test="contains($urlStr, '|')">
                <xsl:element name="ImageURL{$index}">
                    <xsl:value-of select="substring-before($urlStr, '|')"/>
                </xsl:element>
                <xsl:call-template name="splitImageURL">
                    <xsl:with-param name="urlStr" select="substring-after($urlStr, '|')"/>
                    <xsl:with-param name="index" select="$index + 1"/>
                </xsl:call-template>
            </xsl:when>
            <xsl:otherwise>
                <xsl:element name="ImageURL{$index}">
                    <xsl:value-of select="$urlStr"/>
                </xsl:element>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>
</xsl:stylesheet>

效果说明

  • 原始XML中SKU、data、post等节点会原封不动保留
  • ImageURL节点内的链接按|拆分后,会依次生成ImageURL1、ImageURL2... 对应每个拆分后的链接
  • 注:你提供的预期输出中存在5个ImageURL节点,而原始XML中仅包含4个拆分后的链接,若需要额外补全节点,可在递归逻辑末尾按需追加固定节点即可。

内容的提问来源于stack exchange,提问作者Tom Arm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 01:36:05