ruby – 使用Nokogiri插入和删除XML节点和元素
发布时间:2020-12-16 20:27:02 所属栏目:百科 来源:网络整理
导读:我想提取XML文件的一部分,并记下我提取了该文件中的某些部分,如“这里提取的东西”. 我试图用Nokogiri这样做,但似乎没有真正记录如何: 删除 Nokogiri :: XML :: Element的所有子代 更改该完整元素的inner_text 任何线索? 解决方法 Nokogiri使这个很简单.使
我想提取XML文件的一部分,并记下我提取了该文件中的某些部分,如“这里提取的东西”.
我试图用Nokogiri这样做,但似乎没有真正记录如何: 删除< Nokogiri :: XML :: Element>的所有子代 任何线索? 解决方法
Nokogiri使这个很简单.使用
this document作为示例,以下代码将找到所有维生素标签,删除他们的孩子(和孩子的孩子等),并更改其内部文本,说“儿童被移除”.:
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 给定的食物节点将从这样看: <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> 到这个: <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> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |