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

如何用xmllint提取XML中指定Property对应的Values/String值?

正确提取目标字符串的方法

你的XPath没有过滤对应Property的ExtraMetaData节点,所以返回了所有节点的合并值。要精准获取目标内容,需要在XPath中添加条件,只匹配<Property>值为C_PQIDSERVERJOBOPTIONS的<ExtraMetaData>节点,再提取其下的<Values>/<String>文本。

修正后的xmllint命令

xmllint --xpath "//*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='GetObjectsResponse']/Objects/Object/MetaData/ExtraMetaData/ExtraMetaData[*[local-name()='Property']='C_PQIDSERVERJOBOPTIONS']/Values/String/text()" "MyXML.xml"

关键说明

  • 核心修正点:在ExtraMetaData节点后追加条件[*[local-name()='Property']='C_PQIDSERVERJOBOPTIONS'],这会筛选出包含<Property>C_PQIDSERVERJOBOPTIONS</Property>的目标节点,避免匹配其他无关的ExtraMetaData节点。
  • 如果你知道XML的命名空间URI,可以用更简洁的写法(需替换为实际命名空间):
    xmllint --xpath "//ns:Envelope/ns:Body/ns:GetObjectsResponse/Objects/Object/MetaData/ExtraMetaData/ExtraMetaData[ns:Property='C_PQIDSERVERJOBOPTIONS']/Values/String/text()" --xpath-namespace "ns=http://your-actual-namespace.com" "MyXML.xml"
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 01:55:18