如何使用css或xpath选择器

时间:2015-06-17 10:55:09

标签: javascript css ruby xpath nokogiri

我想使用css或xpath选择器删除stylescript标记及其内容。

这是一个HTML示例:

<html>
  <head>
    <title>test</title>
    <style>
      // style
    </style>
    <script>
      /* some script */
    </script>
  </head>
  <body>
    <p>text</p>
    <script>
      /* some script */
    </script>
    <div>foo</div>
  </body>
</html>

我希望得到这样的HTML:

<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <p>text</p>
    <div>foo</div>
  </body>
</html>

我以为我可以使用此代码获取不包含<script>标记的HTML,但不知何故,代码只会复制HTML。

doc = Nokogiri::HTML(open("foo.text"))
doc.css(":not(script)").to_html

如何启用我想要的行为?

2 个答案:

答案 0 :(得分:1)

尝试以下几行:

doc.search('.//style').remove
doc.search('.//script').remove

答案 1 :(得分:1)

简单就是:

doc.search('style,script').remove