jjzjj

xml sel -t -m 根本不适合我

coder 2024-06-27 原文

我有以下文件 log.xml:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<EntryList xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/">
  <Entries>
    <RankedEntry>
      <Entry>
        <id>1</id>
        <code1>001</code1>
        <displayName>Entry 1</displayName>
        <code2>003</code2>
        <code3>0100000000000005203</code3>
        <actualName>Entry Number 1</actualName>
        <entryType>1</entryType>
        <metaScore>1</metaScore>
        <usage>81</usage>
      </Entry>
      <factor>30.738496780395508</factor>
      <virtualFactor>45.738494873046875</virtualFactor>
    </RankedEntry>
    <RankedEntry>
      <Entry>
        <id>2</id>
        <code1>001</code1>
        <displayName>Entry 2</displayName>
        <code2>003</code2>
        <code3>0200000000000005203</code3>
        <actualName>Entry Number 2</actualName>
        <entryType>26</entryType>
        <metaScore>1</metaScore>
        <usage>61</usage>
      </Entry>
      <factor>40.738496780395508</factor>
      <virtualFactor>55.738494873046875</virtualFactor>
    </RankedEntry>
    <RankedEntry>
      <Entry>
        <id>3</id>
        <code1>001</code1>
        <displayName>Entry 3</displayName>
        <code2>003</code2>
        <code3>0300000000000005203</code3>
        <actualName>Entry Number 3</actualName>
        <entryType>3</entryType>
        <metaScore>1</metaScore>
        <usage>41</usage>
      </Entry>
      <factor>50.738496780395508</factor>
      <virtualFactor>65.738494873046875</virtualFactor>
    </RankedEntry>
  </Entries>    
</EntryList>

如果我运行以下命令,在使用 xmlstarlet 1.6.1 的 Window 7 上,

xml sel -t -m "/EntryList/Entries/RankedEntry/Entry/entryType"-v "."日志文件

预期结果是:

1
26
3

实际: 但是我没有得到任何返回

有什么解决办法吗?

最佳答案

您必须考虑命名空间。使用 XMLStarlet -N 选项定义命名空间前缀:

  -N <name>=<value>         - predefine namespaces (name without 'xmlns:')
                              ex: xsql=urn:oracle-xsql
                              Multiple -N options are allowed.

然后这个 XMLStarlet 命令:

xml sel -N s=http://schemas.datacontract.org/2004/07/ -t -v "/s:EntryList/s:Entries/s:RankedEntry/s:Entry/s:entryType" log.xml

将产生请求的输出:

1
26
3

关于xml sel -t -m 根本不适合我,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25889670/

有关xml sel -t -m 根本不适合我的更多相关文章

  1. ruby-on-rails - ActiveRecord 的 find_or_create* 方法是否存在根本性缺陷? - 2

    有几种方法:first_or_create_by、find_or_create_by等,它们的工作原理是:与数据库对话以尝试找到我们想要的东西如果我们找不到,就自己做保存到数据库显然,并发调用这些方法可能会使两个线程都找不到它们想要的东西,并且在第3步中一个线程会意外失败。似乎更好的解决方案是,创建或查找即:提前在您的数据库中创建合理的唯一性约束。如果你想保存一些东西,就保存它如果有效,那就太好了。如果它因为RecordNotUnique异常而无法工作,它已经存在,太好了,加载它那么在什么情况下我想使用Rails内置的东西而不是我自己的(看起来更可靠)create_or_find?

  2. python - 这些脚本语言中哪种更适合渗透测试? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion首先,我想避免一场关于语言的口水战。可供选择的语言有Perl、Python和Ruby。我想提一下,我对所有这些都很满意,但问题是我不能只专注于一个。例如,如果我看到一个很棒的Perl模块,我必须尝试一下。如果我看到一个不错的Python应用程序,我必须知道它是如何制作的。如果我看到RubyDSL或一些Ruby巫术,我就会迷上Ruby一段时间。目前我是一名Java开发人员,但计划在不久的将来

  3. ruby - 适合 Ruby 程序员的 RPG IV 书籍? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。我是一名Ruby程序员,由于目前的项目需要学习RPGIV。我想学习原始类型、数据结构、控制流、体系结构等。在线资源和纸质书一样好。我应该从哪本书或在线教程开始?

  4. ruby - Lisp - 是否适合网络编程/应用程序(交互式)? ruby 的方式是? php的方式是? - 2

    Lisp是否适合Web编程/应用程序(交互式),就像ruby​​和php一样?需要考虑的事情是:易于使用可部署性难度(尤其是对于编程初学者而言)(编辑)在阅读PaulGraham'sessay之后,我特别提到了CommonLisp.将是我的第一门编程语言。在这方面。这样做合适吗?我听说Clojure的宏功能不如CommonLisp的强大,这就是我尝试学习Clojure的原因。它教授编程并且非常强大。 最佳答案 Lisp是一个语系,而不是单一的语言。为了稍微回答您的问题,是的,存在用于各种Lisp方言的Web框架,例如用于Common

  5. Ruby,哪个异常最适合处理未设置的环境变量? - 2

    我编写的脚本在启动时运行,需要设置环境变量,但是Ruby的Exceptions,是最好的?我使用了LoadError,我只是想尽可能具有描述性并遵循适当的约定。其次,除了检查环境变量的长度外,我找不到其他方法来查看是否设置了环境变量,但这似乎不太优雅。beginraiseLoadErrorifENV['FOO'].to_s.length==0system"openhttp://example.com/"+ENV['FOO']rescueException=>eputs"=>#{e}FOOenvironmentvariablenotset"end 最佳答案

  6. ruby - 当 Ruby 正则表达式不适合在线时 - 2

    当我有一个很长的正则表达式时,比如cucumber步骤定义,最好的换行方式是什么?例如,我想要这样的东西:When/^Ihaveaverylongstepdefinitionhereinmystepdefinitionfile$/do...end分成两行(这行不通:)When/^Ihaveaverylongstepdefinitionherein/\/mystepdefinitionfile$/do...end2018年更新如果您专门来这里吃cucumber,请使用cucumberexpressions是正则表达式的一个很好的替代品 最佳答案

  7. ruby - 哪种风格,lambda..should 或 expect..to,更适合在 RSpec 中测试预期? - 2

    我看到两种样式都被广泛使用:#1lambda{raise"Boom"}.shouldraise_error和#2expect{raise"Boom"}.toraise_error.我喜欢expect..tomore,因为它读起来更好,并且隐藏了过程的创建。我查看了rspec代码,似乎expect..to是suggested,但是我经常遇到使用lambda..should的库。期望..更新,因此还不是“著名”吗? 最佳答案 expect从rspec-2开始使用,之前必须使用lambda。RSpec“正式”建议使用expect,他们可能

  8. ruby - 有没有适合 Ruby 的好的 openCL 包装器? - 2

    我知道:https://github.com/lsegal/barracuda自01/11以来未更新和http://rubyforge.org/projects/ruby-opencl/自03/10以来未更新。这些项目死了吗?或者它们只是因为它们的功能而没有改变,而OpenCL/Ruby从那时起就没有改变。有人在使用这些项目吗?运气好吗?如果没有,您可以推荐另一个用于Ruby的openclgem吗?或者这种调用通常是如何完成的?只需从Ruby调用原始C? 最佳答案 你可以试试opencl_ruby_ffi,它(由我的一位同事)积极开

  9. 适合学生党的百元蓝牙耳机,蓝牙耳机平价推荐 - 2

    随着大部分手机都取消了标准耳机孔,这也使得对蓝牙耳机的普及加速,在受众群体中,学生党占很大部分。虽说很多同学都有自己的蓝牙耳机,但可能入手之后并不喜欢。大学生买蓝牙耳机不仅要看外观、工艺、配置,也要看价格。不同的学生预算都不同,所以今天笔者推荐会从不同价格蓝牙耳机去推荐,看看你适合哪款吧!款式一:南卡LitePro2蓝牙耳机参考价格:399防水等级:IPX5NANK南卡潜心研发许久的南卡Litepro2,有着全新的声学系统和多种技术,冲击着主流高端蓝牙耳机市场!作为钻研十多年声学领域的资深品牌,在音频领域上有着各种深厚的技术!配置体验都直接媲美各种高端蓝牙耳机,许多评测达人和专业媒体在体验后都

  10. ruby-on-rails - 什么是适合 Rails 的购物车 gem? - 2

    我想在我的Rails应用程序中实现基本的购物车功能......是否有任何好的gem可以简化这个过程?即我希望购物者能够在结账时添加产品和数量,我希望管理员能够向商店添加新产品(并编辑/删除现有产品)。建议? 最佳答案 Railscasts涵盖了范围广泛的支付和电子商务gem.gem列表也可以在TheRubyToolbox找到。和heretoo.另外,没有覆盖,你可以使用Saas产品Shopify 关于ruby-on-rails-什么是适合Rails的购物车gem?,我们在StackOve

随机推荐