如何使用Nokogiri进行通配符搜索?

时间:2013-01-20 01:10:38

标签: ruby nokogiri

我正试图摆脱文档中的所有data-属性。如果我的文档看起来像

<div id="person" data-name="John Smith" data-age="32" data-location="UK">...</div>

我想删除数据以便离开

<div id="person">...</div>

我尝试了很多组合,至少可以使用

来获取data-name之类的内容
doc.xpath('//@data-name')

但有时会有更多data-?属性,我想避免手动添加所有属性。 This SO answer is close,但是当我尝试

时,它并没有为我返回任何内容
doc.xpath("//*[@*[contains(., 'data-')]]")

2 个答案:

答案 0 :(得分:1)

你找到的答案太深了,试试这样:

doc.xpath('//*[contains(., "data-")]')

答案 1 :(得分:1)

选择名称以data-开头的所有属性:

//@*[starts-with(name(), 'data-')]