问题标签 [nokogiri]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2601 浏览

ruby-on-rails - 您如何知道何时使用 XML 解析器以及何时使用 ActiveResource?

我尝试使用 ActiveResource 解析更像 HTML 文档的 Web 服务,但一直收到 404 错误。

我是否需要为此任务使用 XML 解析器而不是 ActiveResource?

我的猜测是 ActiveResource 仅在您使用来自另一个 Rails 应用程序的数据并且 XML 数据很容易转换为 Rails 模型时才有用。例如,如果 Web 服务是范围更广的 XML,如 HTML 文档或 RSS 提要,您希望使用像 hpricot 或 nokogiri 这样的解析器。它是否正确?

您如何知道何时使用 XML 解析器以及何时使用 ActiveResource?

0 投票
4 回答
22621 浏览

ruby - 使用 Nokogiri 插入和删除 XML 节点和元素

我想提取 XML 文件的一部分并记下我提取了该文件中的某些部分,例如“这里提取了一些东西”。

我正在尝试对 Nokogiri 执行此操作,但似乎并没有真正记录如何:

  1. 删除 a 的所有孩子<Nokogiri::XML::Element>
  2. 更改该inner_text完整元素的

有什么线索吗?

0 投票
2 回答
6054 浏览

ruby - 如何使用 nokogiri 验证 XHTML?

我发现一些帖子暗示您可以使用 nokogiri gem 验证 XHTML 与它的 DTD。虽然我已经成功地使用它来解析 XHTML(寻找“a”标签等),但我正在努力验证文档。

对我来说,这个:

导致一大堆:

所以我假设这不是正确的方法。我似乎找不到任何好的例子——谁能建议我做错了什么?

我在 Mac OSX 10.5.8 上运行 ruby​​ 1.8.6。Nokogiri 告诉我:

0 投票
4 回答
1119 浏览

ruby-on-rails - 从 Scrubyt 过渡到 Nokogiri - 写入 XML 或哈希?

我正在尝试将这段代码从scrubyt 转换为nokogiri,并且一直试图将我的结果写入哈希或xml。在 scrubyt 中,它如下所示:

使用 nokogiri 我可以解析出我想要的信息,但似乎没有一种快速的方法来返回散列或 xml 文档中的项目。这就是我在 nokogiri 所拥有的一切。

如何将项目信息返回到 xml 或散列?

0 投票
2 回答
1733 浏览

ruby - libxml-ruby 解析帮助

好吧,由于速度和 _why 的消失,从工作的 Hpricot 切换到 Libxml-ruby,看了 Nokogiri 片刻,但决定看看 Libxml-ruby 的速度和寿命。我一定遗漏了一些基本的东西,但我试图做的却是行不通,这是我的 XML 字符串:

完整的提要中大约有 150 个这样的条目。

我只想遍历 150 个条目,然后找出内容和属性,但我在 libxml-ruby 上玩得很开心,因为它与 Hpricot 一起工作得很好。

这个小片段显示我什至没有得到条目:

有任何想法吗?我查看了文档,找不到一个简单的 XML 文件,这里是 x,y,z 的示例。这应该很简单。

0 投票
1 回答
1078 浏览

xml - 使用 Nokogiri 将具有命名空间的节点添加到 XML 文件

我在编辑 XML 文件时遇到问题。我目前正在尝试使用Nokogiri,但我愿意接受任何其他 Ruby 库来解决这个问题。

我正在尝试在另一个节点集中添加一个节点集。两者都有一些有趣的命名空间。这是代码。我正在尝试在第一个之后将 new_node 添加到父级<p:sp>

在上面的代码运行之后,@doc 看起来像下面的 XML:

请注意,它再次命名了 p: 下的所有内容。这两个节点应该是<p:sp><a:off>不是<p:p:sp><p:a:off>我可以从 new_node 中删除 p: 但 a:off 仍将在 p: 下命名空间,这是不可能的。我知道我一定做错了什么。我正在寻找的最终结果是:

0 投票
4 回答
2703 浏览

ruby - open-uri + hpricot & nokogiri 不能正确解析 html

我正在尝试使用 open-uri + hpricot 解析网页,但这似乎是解析过程中的一个问题,因为宝石没有给我带来我想要的东西。

具体来说,我想在此 url中获取此div(其 id 为'pasajes' ):

http://www.despegar.com.ar

我写了这段代码:

但它什么也没带来!我在 hpricot 和 nokogiri 中尝试了很多东西:

  1. 我尝试给出该​​ div 的绝对路径
  2. 我尝试使用选择器的 CSS 路径
  3. 我尝试使用 hpricot 搜索快捷方式(doc//“div#pasajes”)
  4. 几乎所有可能的相对路径都可以到达“pasajes”div

最后我找到了一个可怕的解决方案。我使用了 watir 库,打开网络浏览器后,我将 html 传递给了 hpricot。以这种方式 hpricot 可以识别 'pasajes' div。但我不想仅仅为了解析目的而打开一个网络浏览器......

我做错了什么?open-uri 工作不好吗?是杏吗?

0 投票
1 回答
857 浏览

ruby - nokogiri xpath 表达式不解析

我正在将 Nokogiri 1.3.3 与 Ruby 1.8.7 一起使用,我正在尝试匹配此 SO 问题中描述的标签内容:

Nokogiri 提出了一个异常,抱怨.括号后的 ' '。当我.用它替换 ' 'text()然后抱怨第二个时期。这是我还是Nokogiri?我如何解决它

0 投票
1 回答
1294 浏览

xml - 如何处理 Nokogiri 的 XPath 表达式中的转义字符

我正在使用 nokogiri 和一个看起来像这样的 xml 文档:

当我尝试查找包含转义字符的歌曲时,我没有通过以下 xpath 查询返回任何内容(无论我是否转义查询中使用的文件名字符串)

在 xpath 查询中表示转义字符的正确方法是什么?

0 投票
1 回答
1678 浏览

ruby - 使用 Nokogiri::XML.fragment 的 HTML 实体问题

似乎所有实体都被杀死了

结果:

上面的方法调用Nokogiri::XML::DocumentFragment.parse(tags)和那个方法调用 Nokogiri::XML::DocumentFragment.new(XML::Document.new, tags)

关于 nokogiri 文档,此代码将被执行:

我认为我们正在处理 XML::SAX::Parser 和相应的 FragmentHandler。挖掘代码没有给出任何提示;我必须设置哪些参数才能获得正确的结果?