【问题标题】:Read and write xml file using Nokogiri使用 Nokogiri 读写 xml 文件
【发布时间】:2010-07-22 08:02:59
【问题描述】:

我是 Nokogiri 红宝石的新手。我想知道如何读取和写入 xml 文件。要求是我解析xml文件,做一些修改,然后保存。

f = File.open("elevate.xml")
xml = Nokogiri::XML(f)
query = Nokogiri::XML::Node.new "query", xml
query["text"] = "bank"
query.parent = xml.root

f.close

上面的代码根本不会对该文件进行任何更改。我必须创建新文件才能将其保存回来吗?

【问题讨论】:

    标签: ruby nokogiri


    【解决方案1】:

    您可以使用 xml.to_xml 将文档的 XML 文本作为字符串获取,然后以通常的方式将其写入文件。

    【讨论】:

    • 我想 nokogiri 可以自动处理。好吧,这可能是唯一的方法。
    • 详细信息会更有帮助,但很高兴知道 .to_xml。由于 Nokogiri 似乎是附加到我的文件而不是像我期望的那样替换目标。
    • @Drew 您使用什么代码导致追加而不是替换?
    • 追加是由于使用了 File.open('path','r+')。我发现我必须打开文件 File.open('path','r'),然后修改文件我做了一个单独的 File.open('path','w')。我找不到一种方法来使用相同的文件指针来进行读写(r+ 只是追加)
    猜你喜欢
    • 1970-01-01
    • 2013-02-10
    • 1970-01-01
    • 1970-01-01
    • 2010-11-05
    • 1970-01-01
    • 2016-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多