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

如何从带xsi:type属性的XML节点中提取指定类型数据?

解决方案

问题核心是xsi属于XML命名空间前缀,你之前直接匹配@type的规则无法命中带命名空间的xsi:type属性,按以下两步调整即可:

  • 首先在XSLT的根元素(<xsl:stylesheet>或<xsl:transform>)中声明xsi对应的命名空间,命名空间URI必须和你原XML文档中xsi前缀绑定的URI完全一致,标准xsi命名空间声明示例如下:
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!-- 其余XSLT配置 -->
  • 然后修改xsl:for-each的选择表达式,指定匹配带xsi命名空间的type属性:
<xsl:for-each select="Event[@xsi:type='steps']">
    <!-- 此处填写读取节点内部数据的逻辑 -->
</xsl:for-each>

如果你的Event节点不是当前上下文的直接子节点,调整select里的路径到对应层级即可,比如根节点下的Event写为/Event[@xsi:type='steps']。

内容的提问来源于stack exchange,提问作者Lasse Wöien

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 08:06:04