簡體   English   中英

使用Nokogiri如何使用Nokogiri :: XML :: Text更改節點的文本值參數數量錯誤

[英]Using Nokogiri How to Change Text Value of Node using Nokogiri::XML::Text wrong number of arguments

我有一個看起來像這樣的html文件

<html>
  <head>
    <title><* page.title *></title>
  </head>
  <body>
    <h1>h<* recipe.name *></h1>
    <* EACH recipes recipe *>
      <* food.name *>
      <* EACH recipe.nicknames nickname *>
        <p><* things to be replaced *></p>
      <* ENDEACH *>
    <* ENDEACH *>
  </body>
</html>

我有一個json文件。 我正在使用json ruby library進行解析,並將其作為哈希返回。 我需要使用鍵並將值插入此html文件中。

到目前為止,我的ruby腳本看起來像這樣

require 'rubygems'
require 'nokogiri'  
require 'json' 

data = File.read("data.json")
obj = JSON.parse(data)

puts obj.values

page = Nokogiri::HTML(open("somethingtemplate"))

# base = Nokogiri::XML::Node.new
# base["href"] = "http://google.com"

# page.xpath('//body/h1').each do |node|
#   node.add_child(base)
#   puts child.text
# end

 builder = Nokogiri::XML::Text.new do page
   page.body {
    page.h1
    page.text "hello world"
   }
 end 

 puts builder.doc

我在這里看到了某人的示例-> 在Nokogiri中的特定XML標記后插入文本

我收到此錯誤

 `new': wrong number of arguments (0 for 2+) (ArgumentError)

該文檔沒有示例,它對我不起作用。

您正在使用類Nokogiri::XML::Text ,但需要像示例中一樣使用Nokogiri::XML::Builder Nokogiri::XML::Text.new接受2個以上的參數http://nokogiri.org/Nokogiri/XML/Text.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM