Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #31363

Re: delete xml elements - using xpath search

From Stefan Behnel <stefan_ml@behnel.de>
Subject Re: delete xml elements - using xpath search
Date 2012-10-16 07:50 +0200
References <CAOMTrfecpoHumOXu7qOJ2ximm63vwq-7aY19QpGdTOT+wFos0w@mail.gmail.com>
Newsgroups comp.lang.python
Message-ID <mailman.2254.1350366671.27098.python-list@python.org> (permalink)

Show all headers | View raw


Tharanga Abeyseela, 16.10.2012 05:57:
> i need to delete the following pattern and its parent node from my xml
> file (IF THE SEARCH STRING FOUND)
> 
> <Rating>NC</Rating>
> 
> if i find the above particular string , i need to delete the XML
> elements (parent of the <Rating> element.  problem is i have different
> parent nodes with different names..
> 
> like
> 
> <movies>
>      <name> xxx</name>
>       <title>xxx </title>
>       <Rating>NC</Rating>
> </movies>
> 
> <tvshow>
>     <name> </name>
>      <title>xxx </title>
>      <Rating>NC</Rating>
> </tvshow>
> 
> <tvepisode>
>     <name>xxx </name>
>      <title>xxx </title>
>      <Rating>M</Rating>
> </tvepisode>
> 
> 
> as an example, i need to remove <movies> section and <tvshow> section
> from my xml, (because it has the word NC) but need to keep <tvepisode>
> 
> can someone point me to the correct direction, or code snippet

Use the xml.etree.ElementTree module. Just parse() in the file, iterate
over the nodes, use the findtext() method to search for the text of
"Rating" tags and compare it to "NC". Keep the nodes that don't match.

Stefan

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: delete xml elements - using xpath search Stefan Behnel <stefan_ml@behnel.de> - 2012-10-16 07:50 +0200

csiph-web