Найти конец заменить содержимое во всех тегах - PullRequest
0 голосов
/ 10 октября 2018

Я хочу найти и заменить все узлы в файлах XML.Я попробовал это:

def modify_xml_content(request_body, node, content)
    doc = Nokogiri::XML(request_body)
    node = doc.search(node).first
    node.content = content
    puts "Modifying #{node}"
    doc.to_xml
  rescue
    request_body
  end

Пример XML

<billing_address>
    <first_name>Max</first_name>
    <last_name>Mustermann</last_name>
    <address1>Muster Str. 12</address1>
    <zip_code>10178</zip_code>
    <city>New York</city>
    <state>WA</state>
    <country>US</country>
  </billing_address>
  <shipping_address>
    <first_name>Max</first_name>
    <last_name>Mustermann</last_name>
    <address1>Muster Str. 12</address1>
    <zip_code>10178</zip_code>
    <city>New York</city>
    <state>WA</state>
    <country>US</country>
  </shipping_address>

Как найти и заменить все содержимое в тегах, например, не толькопервый найденный соответствующий тег?

1 Ответ

0 голосов
/ 10 октября 2018

До each вместо first:

doc.search(node).each do |n|
  n.content = content
end
...