问题标签 [libxml-ruby]

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 回答
1131 浏览

ruby - Ruby:无法使用 Libxml-ruby 保存文档

从 libxml-ruby API 文档(http://libxml.rubyforge.org/rdoc/index.html),在 LibXML::XML::Document 下,我尝试了以下操作:

...导致此错误:

(上面块中的最后一行是第 26 行)。

我尝试将文件名更改为整数,这给了我这个:

所以我收集到我需要使用字符串,但字符串似乎不起作用。由于我似乎无法在 Google 上找到任何运行 libxml-ruby 的示例,所以我很茫然。任何帮助将不胜感激,或者链接到任何在线示例,我可以在其中看到 libxml-ruby 如何用于创建 XML 文档。

libxml-ruby 1.1.3 ruby​​gems 1.3.1 ruby​​ 1.8.7

0 投票
2 回答
2154 浏览

xml - Ruby:libxml-ruby 并添加格式良好的兄弟节点

鉴于我现有的 XML (test.xml):

还有我的红宝石代码:

我的问题是它像这样格式化输出:

...随后添加如下所示:

想要的是:

...但我怎么得到它?

0 投票
1 回答
2628 浏览

windows-xp - windows xp上的libxml-ruby问题

大约一个月前,我使用 gem install libxml-ruby 安装了 libxml-ruby,它运行良好。然后我今天去另一台机器上安装它,它失败了这个错误:

我已经安装了 rake 和 win32-api

然后,如果我之前真的在我的机器上安装了 libxml-ruby 并尝试卸载并重新安装它,我会感到困惑。它现在在我的机器上失败并显示相同的错误消息,并且我编写的一些用于解析 xml 的脚本不再有效。最近有其他人尝试在 Windows XP 上安装 libxml-ruby 吗?它似乎完全被打破了。

0 投票
1 回答
881 浏览

validation - 我如何告诉 libxml-ruby 外部实体文件?

我正在尝试使用libxml-ruby'sDTD#validate进行验证,但我不断收到以下警告:

我不介意,除非我使用…了那些定义的东西,导致我的 XHTML 看起来是无效的。

我如何告诉 DTD 那些额外的文件?我尝试从包含.dtd文件和所有.ents 的目录运行,但这没有帮助。

0 投票
8 回答
47356 浏览

xml - 将 Nokogiri 文档转换为 Ruby 哈希

有没有一种简单的方法可以将 Nokogiri XML 文档转换为 Hash?

类似 Rails 的东西Hash.from_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 回答
388 浏览

xml - 使用 LibXML-Ruby 清除不需要的命名空间

我想解析一个 Atom Feed 并为每个条目创建一个符合 Atom 的缓存。

问题是一些提要(例如这个)除了 Atom 之外还有许多命名空间。

是否可以保留所有 Atom 节点并删除属于另一个命名空间的每个节点?

像这样的东西:

0 投票
1 回答
569 浏览

xml - 找到第一个元素时如何停止解析?

我想在找到第一个元素时停止解析,即使在那之后还有更多相同的元素。我在 ruby​​ 上使用 libxml、SAX。
此代码显示每个<usr>元素。
但是我想在 find 1st 时停止解析<usr>
因为这个 XML 文件会很大。有谁知道通过 SAX 方法找到第一个元素时如何停止解析。

代码

谢谢。

0 投票
2 回答
2404 浏览

xml - 使用 libxml-ruby 解析命名空间的 XML

我正在尝试使用 libxml-ruby 以以下格式(来自欧洲中央银行数据源)解析 XML:

我正在按如下方式加载文档:

但我正在努力提出正确的命名空间配置以允许对数据进行 XPATH 查询。

我可以Cube使用以下代码提取所有节点:

但是考虑到父节点和子节点都被称为Cube这真的无助于我只迭代父节点。也许我可以修改这个 XPATH 以只找到那些带有time参数的节点?

我的目标是能够提取所有Cube具有time属性(即)的节点,这样我就可以提取日期并迭代子节点<Cube time="2009-11-03">中的汇率。Cube

任何人都可以帮忙吗?

0 投票
3 回答
3835 浏览

ruby - 使用 libxml-ruby 逐块处理大型 XML 文件

我想使用 Ruby 中的 libxml读取一个包含超过一百万个小型书目记录(如)的大型XML文件。<article>...</article>我已经尝试将 Reader 类与逐条读取记录的方法结合使用,expand但我不确定这是正确的方法,因为我的代码会占用内存。因此,我正在寻找一种方法来方便地处理记录并使用恒定的内存。下面是我的主循环:

这里的关键是dblp.expand读取整个子树(如<article>记录)并将其作为参数传递给工厂以进行进一步处理。这是正确的方法吗?

然后,在工厂方法中,我使用类似于 XPath 的高级表达式来提取元素的内容,如下所示。再次,这可行吗?