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

如何使用XSLT根据子节点属性与元素值过滤删除指定XML节点

正确XSLT匹配规则说明

原规则失效核心原因:

  • 未匹配实际层级结构:你给出的NameValue节点直接父节点是Property,原规则用通配符*匹配存在层级匹配模糊的问题
  • 节点值比对逻辑不严谨:未显式指定取节点文本值,部分XSLT处理器会直接比对节点对象而非节点内容,容易出现匹配失效

场景1:匹配包含符合要求NameValue的Property节点

match="Property[NameValue[@name='PrmEAMLocation' and text()='true']]"

如果需要同时校验type属性,可扩展为:

match="Property[NameValue[@name='PrmEAMLocation' and @type='StringType' and text()='true']]"

场景2:匹配包含符合要求NameValue的ItemLocation节点

如果Property是ItemLocation的直接子节点,规则如下:

match="ItemLocation[Property/NameValue[@name='PrmEAMLocation' and text()='true']]"

如果不确定Property和ItemLocation之间的嵌套层级,可以用后代选择器:

match="ItemLocation[.//NameValue[@name='PrmEAMLocation' and text()='true']]"

场景3:直接匹配符合要求的NameValue节点本身

match="NameValue[@name='PrmEAMLocation' and @type='StringType' and text()='true']"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 03:24:03