首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从具有类似块的XML文件中提取数据

从具有类似块的XML文件中提取数据
EN

Stack Overflow用户
提问于 2020-06-22 15:16:00
回答 1查看 242关注 0票数 0

代码语言:javascript
复制
<?xml version="1.0"?>
 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <lima2t:runlargeResponse xmlns:lima2t="uri://Metadata.com/home/1.0">
        <data>
          <capacity>
              <name>Everyday.Italian.Dish</name>
              <currency>($)</currency>
              <CashAmount>not.used.for.this.transaction</CashAmount>
              <CheckAmount>not.used.for.this.transaction</CheckAmount>
              <CreditAmount>not.used.for.this.transaction</CreditAmount>
          </capacity>
          <capacity>
              <name>Everyday.French.Dish</name>
              <currency>($)</currency>
              <CashAmount>not.used.for.this.transaction</CashAmount>
              <CheckAmount>not.used.for.this.transaction</CheckAmount>
              <CreditAmount>134,70</CreditAmount>
          </capacity>
      </data>
    </lima2t:runlargeResponse>
  </soap:Body>
</soap:Envelope>

目标提取:

134,70来自<CreditAmount>134,70</CreditAmount>

我试过这个命令,但是命令输出屏幕上的所有内容

代码语言:javascript
复制
xmllint --path '//soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"/soap:Body/lima2t:runlargeResponse xmlns:lima2t="uri://Metadata.com/home/1.0"/data/capacity/@name="Everyday.French.Dish"/CreditAmount/text()' op.xml

我觉得好像有东西不见了,但我找不到什么

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-22 15:25:59

如下所示:

代码语言:javascript
复制
xmllint --xpath '
    //data/capacity[name="Everyday.French.Dish"]/CreditAmount/text()
' op.xml

或者使用shell开关(需要额外的后处理来删除垃圾):

代码语言:javascript
复制
xmllint --shell op.xml<<EOF
cat //data/capacity[name="Everyday.French.Dish"]/CreditAmount/text()
EOF

或者使用小星

代码语言:javascript
复制
xmlstarlet sel -t -v '
    //data/capacity[name="Everyday.French.Dish"]/CreditAmount/text()
' op.xml

输出:

代码语言:javascript
复制
134,70
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62517724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档