加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 使用Nokogiri和XPath获取具有多个属性的节点

发布时间:2020-12-16 23:32:50 所属栏目:百科 来源:网络整理
导读:我正在尝试使用Nokogiri来解析一个带有一些相当古怪的标记的 HTML文件.具体来说,我正在尝试抓取同时定义了id,多个类和样式的div.标记看起来像这样: div id="foo" div id="bar" class="baz bang" style="display: block;" h2title/h2 dl List of stuff /dl /
我正在尝试使用Nokogiri来解析一个带有一些相当古怪的标记的 HTML文件.具体来说,我正在尝试抓取同时定义了id,多个类和样式的div.标记看起来像这样:
<div id="foo">
  <div id="bar" class="baz bang" style="display: block;">
    <h2>title</h2>
    <dl>
      List of stuff
    </dl>
  </div>
</div>

我正试图抓住< dl>它位于问题div内.我可以使用单个id属性获得没有问题的div,但是我无法找到让Nokogiri用id和类来获取div的方法.所以这些工作正常:

content = @doc.xpath("//div[id='foo']")

content = @doc.css('div#foo')

但这些不会返回任何东西:

content = @doc.xpath("//div[id='bar']")

content = @doc.xpath("div#bar")

我有什么明显的遗漏吗?

解决方法

I can get divs with a single id
attribute with no problem,but I can’t
figure out a way of getting Nokogiri
to grab divs with both ids and
classes.

你要:

//div[id='bar' and class='baz bang' and style='display: block;']

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读