ruby - 使用 XPath 获取属性的 XML 属性值

标签 ruby xml xpath nokogiri

我有一个类似于下面示例的 XML:

<?xml version="1.0" encoding="UTF-8" ?>
<testsuite errors="0" failures="0" name="test" tests="1" time="2.747">
  <properties>
    <property name="categories" value="ExampleCategory" />
    <property name="timestamp" value="1519664414463" />
  </properties>
  <testcase classname="com.example.junit.Test" name="test" time="2.747" />
</testsuite>

有没有办法根据属性名称检索属性标签值?

现在,我正在使用类似的东西:

@doc.xpath('//testsuite//properties//property/@value').text

这会给我“ExampleCategory1519664414463”。 我知道如果我使用 .first[0][1] 等,我可以单独获取值,但我不能'找不到根据“name”属性分别获取值的方法。

有人知道如何检索它吗?

最佳答案

这个 XPath,

//property[@name='timestamp']/@value

将选择property元素的所有value属性,其name属性值等于'timestamp'

关于ruby - 使用 XPath 获取属性的 XML 属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49008844/

相关文章:

javascript - 从 XML 文件调用某些元素?

xml - 编译成 xslt?

java - 在解码操作期间将 nil ="true"转换为 null

python - XPath 选择图像链接 - img src 的父 href 链接仅当它存在时,否则选择 img src 链接

javascript - 如何在 PHP 中使用 XPATH 从同一类中仅获取一个 HTML 内容?

ruby - 如何使用 RSpec 模拟接受然后调用 block 回调的 API?

ruby - 如何将多个参数传递给 Ruby 方法

c# - Java XML XPath 解析器到 C#

ruby - ruby 是什么!!运算符(operator)?

ruby - `require' : cannot load such file -- rspec/core/formatters/base_formatter (LoadError)