Ruby on rails 如何在Nokogiri中找到空的结束标记?
我有一些关于Ruby中Nokogiri的问题 我有一个Nokogiri XML文档,其中包含一些空的结束标记。其中一些可以嵌套几层 比如,Ruby on rails 如何在Nokogiri中找到空的结束标记?,ruby-on-rails,ruby,nokogiri,Ruby On Rails,Ruby,Nokogiri,我有一些关于Ruby中Nokogiri的问题 我有一个Nokogiri XML文档,其中包含一些空的结束标记。其中一些可以嵌套几层 比如, 名字 书 有人知道一种简单的方法来找到这些嵌套的空标记吗?或者任何人都可以用最简单的方法来导航文档以找到这些元素吗 另外,在标记的情况下,当我查找并删除时,是否有一种简单的方法来检查是否没有其他同级标记并删除父标记(现在不包含其他元素) 这是递归遍历的好地方。从文档根目录开始,您可以先遍历子目录,边走边清理。如果子级没有内容,请将其删除 def clea
名字
书
标记的情况下,当我查找并删除
时,是否有一种简单的方法来检查是否没有其他同级标记并删除父标记(现在不包含其他元素)这是递归遍历的好地方。从文档根目录开始,您可以先遍历子目录,边走边清理。如果子级没有内容,请将其删除
def clean(node)
node.children.each do |child|
clean(child)
child.remove if child.content.gsub(/\s+/, '').empty?
end
end
您可以在移除孩子之前清洁孩子,从而实现您对第(2)部分的愿望-确保在考虑
之前找到并移除
。如果您不想删除现在为空的父项,您可以交换这些行
由于文档的格式是供人阅读的,因此许多节点都包含带有空格的文本节点,因此gsub
会在考虑空之前清除这些节点
根据您的输入,这将导致:
名字
书
您是否已尝试过该选项doc.css(':empty')
应该可以工作。