Xpath表达式(nokogiri)来获取标签的子元素?



从我的xml中,我可以得到这个:

<home>
    <creditors>
          <count>2</count>
    </creditors>
</home>

甚至这个:

<home>
    <creditors>
          <moreThan>2</moreThan>
    </creditors>
</home>

我可以使用哪个 xpath 表达式来获取"<count>2</count>"而不是只获取"2"或获取"<moreThan>2</moreThan>"而不是获取"2"?

这个XPath,

//creditors/count

将选择 XML 文档中所有creditors元素的所有count子元素。


根据 OP 的请求在注释中更新同时选择countmoreThan元素的单个 XPath:

这个XPath,

//creditors/*[self::count or self::moreThan]

将选择 XML 文档中所有creditors元素的所有countmoreThan子元素。

假设你的 xpath 表达式没问题,你只需要将元素转换为字符串:

doc.xpath("home/creditors/*").to_s => "<count>2</count>"

请检查返回多个元素的查询,以确保它是所需的行为。

最新更新