T
Tharanga Abeyseela
Hi Guys,
I need to remove the parent node, if a particular match found.
ex:
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<Feed xmlns="http://schemas.xxxx.xx/xx/2011/06/13/xx">
<TVEpisode>
<Provider>0x5</Provider>
<ItemId>http://fxxxxxxl</ItemId>
<Title>WWE</Title>
<SortTitle>WWE </SortTitle>
<Description>WWE</Description>
<IsUserGenerated>false</IsUserGenerated>
<Images>
<Image>
<ImagePurpose>BoxArt</ImagePurpose>
<Url>https://xxxxxx.xx/@006548-thumb.jpg</Url>
</Image>
</Images>
<LastModifiedDate>2012-10-16T00:00:19.814+11:00</LastModifiedDate>
<Genres>
<Genre>xxxxx</Genre>
</Genres>
<ParentalControl>
<System>xxxx</System>
<Rating>M</Rating>
if i found <Rating>NC</Rating>, i need to remove the <TVEpisode> from
the XML. i have TVseries,Movies,and several items. (they also have
Rating element). i need to remove all if i found the NC keyword.inside
<Ratging>
im using following code.
when i do the following on python shell i can see the result (NC,M,etc)
but when i do this inside the script, im getting the following error.
Traceback (most recent call last):
File "./test.py", line 10, in ?
x = child.find('Rating').text
AttributeError: 'NoneType' object has no attribute 'text'
but how should i remove the parent node if i found the string "NC" i
need to do this for all elements (TVEpisode,Movies,TVshow etc)
how can i use python to remove the parent node if that string found.
(not only TVEpisodes, but others as well)
#!/usr/bin/env python
import elementtree.ElementTree as ET
tree = ET.parse('test.xml')
root = tree.getroot()
for child in root.findall(".//{http://schemas.CCC.com/CCC/2011/06/13/CC}Rating"):
x = child.find('Rating').text
if child[1].text == 'NC':
print "found"
root.remove('TVEpisode') ?????
tree.write('output.xml')
Really appreciate your thoughts on this.
Thanks in advance,
Tharanga
I need to remove the parent node, if a particular match found.
ex:
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<Feed xmlns="http://schemas.xxxx.xx/xx/2011/06/13/xx">
<TVEpisode>
<Provider>0x5</Provider>
<ItemId>http://fxxxxxxl</ItemId>
<Title>WWE</Title>
<SortTitle>WWE </SortTitle>
<Description>WWE</Description>
<IsUserGenerated>false</IsUserGenerated>
<Images>
<Image>
<ImagePurpose>BoxArt</ImagePurpose>
<Url>https://xxxxxx.xx/@006548-thumb.jpg</Url>
</Image>
</Images>
<LastModifiedDate>2012-10-16T00:00:19.814+11:00</LastModifiedDate>
<Genres>
<Genre>xxxxx</Genre>
</Genres>
<ParentalControl>
<System>xxxx</System>
<Rating>M</Rating>
if i found <Rating>NC</Rating>, i need to remove the <TVEpisode> from
the XML. i have TVseries,Movies,and several items. (they also have
Rating element). i need to remove all if i found the NC keyword.inside
<Ratging>
im using following code.
when i do the following on python shell i can see the result (NC,M,etc)
'NC'
but when i do this inside the script, im getting the following error.
Traceback (most recent call last):
File "./test.py", line 10, in ?
x = child.find('Rating').text
AttributeError: 'NoneType' object has no attribute 'text'
but how should i remove the parent node if i found the string "NC" i
need to do this for all elements (TVEpisode,Movies,TVshow etc)
how can i use python to remove the parent node if that string found.
(not only TVEpisodes, but others as well)
#!/usr/bin/env python
import elementtree.ElementTree as ET
tree = ET.parse('test.xml')
root = tree.getroot()
for child in root.findall(".//{http://schemas.CCC.com/CCC/2011/06/13/CC}Rating"):
x = child.find('Rating').text
if child[1].text == 'NC':
print "found"
root.remove('TVEpisode') ?????
tree.write('output.xml')
Really appreciate your thoughts on this.
Thanks in advance,
Tharanga