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

如何使用XSLT从XML中筛选指定语言的票据翻译内容?

按指定语言筛选XSLT翻译内容

针对你的XML结构,要精准获取某一种语言的翻译,只需在XPath选择器中通过@lang属性做筛选即可,具体方法如下:

直接指定语言筛选

在xsl:value-of的select属性里,通过谓词[@lang='目标语言代码']匹配对应语言的translation元素:

  • 获取法语(fr)翻译:

    <xsl:value-of select="description-translations/translation[@lang='fr']" />
    

    输出结果:.Petite Galette

  • 获取荷兰语(nl)翻译:

    <xsl:value-of select="description-translations/translation[@lang='nl']" />
    

    输出结果:.Kleine Wrap

  • 获取英语(en)翻译:

    <xsl:value-of select="description-translations/translation[@lang='en']" />
    

    输出结果:.Small Wrap

动态切换语言(变量方式)

如果需要灵活切换目标语言,可以先定义一个变量存储语言代码,再通过变量引用筛选:

<!-- 定义目标语言变量 -->
<xsl:variable name="target-lang" select="'en'" />
<!-- 根据变量获取对应翻译 -->
<xsl:value-of select="description-translations/translation[@lang=$target-lang]" />

后续只需修改$target-lang的取值,就能快速切换翻译语言。

增加翻译缺失的 fallback 逻辑

如果担心某些语言没有对应的翻译,可以添加 fallback 规则,默认显示原description的内容:

<xsl:value-of select="description-translations/translation[@lang='en'] | description[not(description-translations/translation[@lang='en'])]" />

这段代码的逻辑是:如果找到英语翻译就输出它,否则输出原始的description内容。

内容的提问来源于stack exchange,提问作者Da Davi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 01:28:31