我有以下
HTML,我想在文档中获取父项.我使用Nokogiri进行解析:
j_text = "<p> <a>abc</a> <a>pqr></a> </p> <table> <tr> <td><p>example</p></td> <td><p>find</p></td> <td><p>by</p></td> <td><p>ID</p></td> </tr> </table> <p><p>zzzz</p>nnnnn</p> <u>sfds<u>"
我做了:
doc = Nokogiri::HTML(j_text)
现在我想要上面HTML文本中的父元素,即< p>,< table>,< p>,< u>使用Nokogiri,我该怎么做?
解决方法
当您在Nokogiri中加载该HTML片段时,它会自动将元素插入到具有嵌套“body”元素的根级“html”元素中.
因此,您提供的HTML片段中的节点的父节点将是“正文”:
doc = Nokogiri::HTML(j_text) doc.root.name # => "html" doc.xpath('//p').first.parent.name # => "body" doc.xpath('//table').first.parent.name # => "body" doc.xpath('//u').first.parent.name # => "body" doc.to_html # => # <!DOCTYPE html... # <html><body> # <p> # <a>abc</a> # ...