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

使用xmlstarlet从带命名空间的XML中提取指定属性值的语法是什么

xmlstarlet 提取目标XML中token属性的语法

该XML带有默认命名空间http://tableau.com/api,需要先绑定命名空间再执行查询,假设XML文件保存为tableau-response.xml,使用以下命令即可提取目标字符串:

xmlstarlet sel -N ns=http://tableau.com/api -t -v "/ns:tsResponse/ns:credentials/@token" tableau-response.xml

参数说明:

  • -N ns=http://tableau.com/api:将XML自带的默认命名空间绑定到自定义前缀ns,后续XPath路径需要统一使用该前缀
  • -t:声明输出模板
  • -v:指定输出匹配到的XPath路径对应的值
  • /ns:tsResponse/ns:credentials/@token:定位到credentials节点的token属性的XPath路径

如果不想显式绑定命名空间,可以用匹配节点本地名称的简化写法,兼容性更强:

xmlstarlet sel -t -v "/*[local-name()='tsResponse']/*[local-name()='credentials']/@token" tableau-response.xml

运行上述任意命令,都会直接输出你需要的目标字符串BkDHOZICQpereh46o84yUQ|mwu76ctmJWcf6heNsvNBudrAaia9xEQH

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 11:18:02