ruby - Nokogiri 剥离所有属性

标签 ruby nokogiri

我有这个 html 标记:

<div class="item"><a href="www"></a></div>

我想得到这个:

<div><a></a></div>

我如何使用 Nokogiri 做到这一点?

最佳答案

require 'nokogiri'
doc = Nokogiri::HTML('<div class="item"><a href="www"></a></div>')
  1. 您可以通过 xpath 删除所有属性:

    doc.xpath('//@*').remove
    
  2. 或者,如果您需要做一些更复杂的事情,有时使用以下方法遍历所有元素会更容易:

    doc.traverse do |node| 
      node.keys.each do |attribute|
        node.delete attribute
      end
    end
    

关于ruby - Nokogiri 剥离所有属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27595070/

相关文章:

ruby-on-rails - 如何使用 graphql-ruby 指定多态类型?

ruby-on-rails - 帮助解决 'Missing these required gems: error'

ruby - xpath:如何从第二个表列中获取所有行?

ruby-on-rails - Nokogiri XML 导入提要组织?

ruby-on-rails - Nokogiri gem 安装在 Capistrano 部署中失败

ruby-on-rails - 有没有办法从 Ruby on Rails 构建输出静态文件?

html - options_from_collection_for_select 排序

ruby-on-rails - HTML 解析 : How to find the image in the document, 哪个被大多数文本包围?

css - 按照元素在文档中出现的顺序获取元素

ruby-on-rails - 使用 Mechanize 和 Nokogiri 从 <a> 标签中提取 href 参数