Gem Nokogiri 删除指定 node 之前的所有 nodes ?

linjunpop · January 05, 2012 · Last by linjunpop replied at February 04, 2012 · 2742 hits

请问

Nokogiri 如何删除指定 node 之前的所有 nodes?

以及 指定 node 之后所有的 nodes ?

xml = Nokogiri::XML("<request><abc></abc><haha>sdf</haha><def></def></request>"){|config| config.noblanks }

cur_node = xml.search("//def").first

def del_all_prev(node)
  if node.previous_sibling
     del_all_prev(node.previous_sibling)
  end

  node.remove
end

del_all_prev(cur_node.previous_sibling)
You need to Sign in before reply, if you don't have an account, please Sign up first.