3

我试图摆脱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-?属性,我想避免手动添加它们。这个 SO 答案很接近,但是当我尝试时它没有为我返回任何东西

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

2 回答 2

1

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

//@*[starts-with(name(), 'data-')]
于 2013-01-20T02:05:17.867 回答
1

您找到的答案嵌套得太深,请尝试以下方式:

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

于 2013-01-20T01:16:17.207 回答