使用正则表达式获取Nokogiri节点

问题描述 投票:-2回答:1

我正在用Nokogiri解析XML文件。

当前,我正在使用以下方法获取所需的值(文档包含多个Phase节点:]

xml.xpath("//Phase[@text=' = STER P=P(T)         ']")

但是现在,上载的XML文件可以具有text属性,并具有不同的值。因此,由于值始终包含[​​C0],因此我尝试使用正则表达式更新代码。

[看了SO的几个问题之后,我尝试了

STER

但是,当我运行它时,我得到

错误:无效谓词://阶段[@ text〜= / STER /](Nokogiri :: XML :: XPath :: SyntaxError)

我在这里想念什么?

或者,是否有一个类似于starts-with`的XPATH函数,该函数在整个值中而不是在它的开头查找子字符串?

我正在用Nokogiri解析XML文件。当前,我正在使用以下方法获取所需的值(文档包括多个Phase节点):xml.xpath(“ // Phase [@ text ='= STER P = P(T)']”).. 。

ruby xpath nokogiri
1个回答
1
投票

您的代码有两个问题:首先,xml.xpath("//Phase[@text~=/STER/]") 。测试文本是否与正则表达式匹配的方法是使用there is no =~ operator in XPath

© www.soinside.com 2019 - 2024. All rights reserved.