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

如何使用XSLT筛选xsi:type="test1"的XML节点并输出目标文件

XSLT实现xsi:type属性筛选解决方案

以下是可直接使用的XSLT转换代码,转换后完全匹配你给出的预期输出:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    exclude-result-prefixes="xsi">
    <!-- 输出格式配置 -->
    <xsl:output method="xml" indent="yes" encoding="UTF-8" omit-xml-declaration="yes"/>

    <!-- 匹配根catalog节点 -->
    <xsl:template match="/catalog">
        <catalog>
            <!-- 仅筛选xsi:type为test1的cd节点完整复制 -->
            <xsl:copy-of select="cd[@xsi:type='test1']"/>
        </catalog>
    </xsl:template>
</xsl:stylesheet>

关键说明

  • 必须在xsl:stylesheet节点中声明和源XML完全一致的xsi命名空间,否则XPath无法正确识别xsi:type属性
  • exclude-result-prefixes="xsi"配置可避免xsi命名空间多余出现在输出的catalog根节点
  • copy-of指令会完整保留符合条件的cd节点的所有子节点、属性、自带的命名空间声明,输出结构和预期完全一致
  • 如果需要保留XML声明头,删除omit-xml-declaration="yes"配置即可

内容的提问来源于stack exchange,提问作者Shanka Somasiri

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 11:27:02