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

XPath依据MIME_TYPE节点值获取MIME_SOURCE无输出,求解决

解决XPath过滤XML获取MIME_SOURCE的问题

你的XPath写法逻辑有误,导致匹配不到结果。问题出在条件判断的层级上:

  • 原表达式MIME_INFO/MIME/MIME_SOURCE[./MIME_TYPE='image/jpeg']里,./MIME_TYPE是在MIME_SOURCE节点内部查找子节点,但实际上MIME_TYPE是MIME的子节点,和MIME_SOURCE是平级关系,所以这个条件永远无法匹配。

正确的XPath写法

直接先过滤出符合MIME_TYPE条件的MIME节点,再提取对应的MIME_SOURCE:

/MIME_INFO/MIME[MIME_TYPE='image/jpeg']/MIME_SOURCE

示例验证

假设你的XML结构如下:

<MIME_INFO>
  <MIME>
    <MIME_TYPE>image/jpeg</MIME_TYPE>
    <MIME_SOURCE>summer_photo.jpg</MIME_SOURCE>
  </MIME>
  <MIME>
    <MIME_TYPE>application/pdf</MIME_TYPE>
    <MIME_SOURCE>report.pdf</MIME_SOURCE>
  </MIME>
</MIME_INFO>

使用上述XPath会准确返回<MIME_SOURCE>summer_photo.jpg</MIME_SOURCE>节点。

额外注意事项

  • 大小写敏感:XML节点名称区分大小写,确保XPath里的节点名和XML中的完全一致(比如不要把MIME_TYPE写成mime_type)。
  • 命名空间处理:如果你的XML带有命名空间(比如xmlns="http://example.com/mime"),需要在XPath中指定命名空间前缀,或者使用忽略命名空间的写法(比如//*[local-name()='MIME' and *[local-name()='MIME_TYPE']='image/jpeg']/*[local-name()='MIME_SOURCE'])。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 04:50:27