Tag: xhtml

Nokogiri以递归方式获得所有孩子

问题 我正在针对各种URL运行一些统计信息。 我想找到最集中的孩子数量的顶级元素。 我想要遵循的方法是识别所有顶级元素,然后确定页面上所有元素的百分比属于它。 目标 递归获取给定元素的所有子元素。 输入:Nokogiri元素 输出:一系列Nokogiri元素或儿童总数 建立 Ruby 1.9.2 Nokogirigem 我最终想出了什么(这有效,但不如下面我选择的答案那么漂亮) getChildCount(elem) children = elem.children return 0 unless children and children.count > 0 child_count = children.count children.each do |child| child_count += getChildCount(child) end child_count end

如何使用nokogirivalidationXHTML?

我发现一些post暗示你可以使用nokogiri gemvalidationXHTML对其DTD的影响。 虽然我已成功使用它来成功解析XHTML(寻找’a’标签等),但我正在努力validation文档。 对我来说,这个: doc = Nokogiri::XML(Net::HTTP.get(URI.parse(“http://www.w3.org”))) puts doc.validate 导致整堆: [ #, #, #, #, #, #<Nokogiri::XML::SyntaxError: No declaration for attribute profile of element head [repeat for every tag in the document.] ] 所以我假设这不是正确的方法。 我似乎无法找到任何好的例子 – 任何人都可以建议我做错了吗? 我在Mac OSX 10.5.8上运行ruby 1.8.6。 Nokogiri告诉我: nokogiri: 1.3.3 warnings: [] libxml: compiled: 2.6.23 loaded: 2.6.23 binding: extension