Insertion et suppression de nœuds XML et d'éléments à l'aide de Nokogiri
Je veux extraire des parties d'un fichier XML et de faire une remarque que j'ai extrait quelques part dans ce fichier, comme "ici quelque chose a été extrait".
Je suis en train de le faire avec Nokogiri, mais il semble ne pas vraiment être documenté sur la façon d':
- supprimer tous les childs d'une
<Nokogiri::XML::Element>
- changer le
inner_text
de compléter élément
Toute indices?
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Nokogiri c'est assez facile. À l'aide de ce document comme un exemple, le code suivant va trouver tous les
vitamins
balises, de retirer leurs enfants (et les enfants des enfants, etc.), et de modifier leur texte interne à dire "les Enfants enlevés.":Un
food
nœud vont partir à la recherche comme ceci::
La précédente Nokogiri exemple moi dans la bonne direction, mais à l'aide de
doc.search
gauche un mal formé//vitamins
j'ai donc utilisé le CSS:Qui se traduit par:
Vous pouvez le faire comme ceci:
Tout qui seraient supprimer tous les enfants au sein de la
<note>
tag, je ne suis pas sûr de savoir comment "changer le inner_text" de tous les éléments. Je pense queinner_text
n'est pas applicable pour un Nokogiri::XML::Element.Voici ce que j'avais à faire:
Parser du XML première:
Si je veux supprimer un nœud du contenu, je peux enlever ses
children
ou de céder néant à son contenu:ou:
Si je veux extraire le texte à partir d'un nœud pour l'utilisation d'une autre manière:
ou:
ou de quelque autre façon que vous voulez marquer le texte.
Et, si vous voulez marquer que vous avez enlevé le texte:
Vous pouvez également utiliser un commentaire XML à la place: