ruby - 在所有标签中查找结束替换内容
问题描述
我想查找并替换 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>
如何查找和替换标签中的所有内容,例如不仅是第一个找到的匹配标签?
解决方案
做each
而不是first
:
doc.search(node).each do |n|
n.content = content
end
推荐阅读
- office-js - 跨多个办公会话保留 Office 应用程序自定义选项卡
- python - 在 pandas Dataframe 的每一行中搜索一个字符串并返回找到的列名
- angular - 主进程发生 JavaScript 错误
- flutter - 如何根据其他小部件在 Row 中调整小部件的大小?
- ruby-on-rails - 如何使用 Haml 从公共目录修改 Rails 错误页面
- wordpress - 页面加载时专注于搜索
- qgis - 如何在qgis中查看信封?
- python - 将 Pandas Dataframe 中的数据行输入到 csv 文件中的下一个空行
- java - 如何处理 MethodArgumentNotValidException
- python - 如何在 Python 中去掉前导零