ruby – 使用Nokogiri插入和删除XML节点和元素

前端之家收集整理的这篇文章主要介绍了ruby – 使用Nokogiri插入和删除XML节点和元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想提取XML文件的一部分,并记下我提取了该文件中的某些部分,如“这里提取的东西”.

我试图用Nokogiri这样做,但似乎没有真正记录如何:

删除< Nokogiri :: XML :: Element>的所有子代
>更改该完整元素的inner_text

任何线索?

解决方法

Nokogiri使这个很简单.使用 this document作为示例,以下代码将找到所有维生素标签,删除他们的孩子(和孩子的孩子等),并更改其内部文本,说“儿童被移除”.: @H_502_13@require 'nokogiri' io = File.open('sample.xml','r') doc = Nokogiri::XML(io) io.close doc.search('//vitamins').each do |node| node.children.remove node.content = 'Children removed.' end

给定的食物节点将从这样看:

@H_502_13@<food> <name>Avocado Dip</name> <mfr>Sunnydale</mfr> <serving units="g">29</serving> <calories total="110" fat="100"/> <total-fat>11</total-fat> <saturated-fat>3</saturated-fat> <cholesterol>5</cholesterol> <sodium>210</sodium> <carb>2</carb> <fiber>0</fiber> <protein>1</protein> <vitamins> <a>0</a> <c>0</c> </vitamins> <minerals> <ca>0</ca> <fe>0</fe> </minerals> </food>

到这个:

@H_502_13@<food> <name>Avocado Dip</name> <mfr>Sunnydale</mfr> <serving units="g">29</serving> <calories total="110" fat="100"/> <total-fat>11</total-fat> <saturated-fat>3</saturated-fat> <cholesterol>5</cholesterol> <sodium>210</sodium> <carb>2</carb> <fiber>0</fiber> <protein>1</protein> <vitamins>Children removed.</vitamins> <minerals> <ca>0</ca> <fe>0</fe> </minerals> </food>
原文链接:https://www.f2er.com/ruby/273408.html

猜你在找的Ruby相关文章