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

时间:2018-02-27 12:35:06

标签: 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

这将给我&#34; ExampleCategory1519664414463&#34;。 我知道如果我使用.first[0][1]等,我可以单独获取值,但我无法找到根据&#34;名称&#34;属性。

任何人都知道如何检索它?

1 个答案:

答案 0 :(得分:1)

这个XPath,

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

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