[XML-SIG] xml.dom won't traverse the whole XML tree
Alexandre CONRAD
aconrad.tlv at magic.fr
Tue May 17 20:22:59 CEST 2005
Hello,
I have a problem here traversing an XML file all the way through.
Here is my script file (copy/paste in a file an execute it, it should work).
------------cut------------
import time
import xml.dom.ext
from xml.dom.ext.reader import Sax2
from xml.dom.NodeFilter import NodeFilter
playlist = """<?xml version='1.0' encoding='UTF-8'?>
<playlist>
<group name='generique_elior'>
<video duration='49' file='geneelior.mpg' type='generique'/>
</group>
<group name='info'>
<video duration='32' file='presse.mpg' type='info'/>
</group>
<group name='meteo'>
<video duration='8' file='meteo_eliorv2.mpg' type='generique'/>
<video duration='30' file='meteo_elior.mpg' type='meteo'/>
</group>
<group name='sport'>
<video duration='5' file='sport_eliorv2.mpg' type='generique'/>
<videolist tag='sport.txt'>
<video duration='89' file='apprendrekiteboardwavemasters1.mpg'
type='sport'/>
<video duration='69' file='apprendrekiteboardwavemasters2.mpg'
type='sport'/>
<video duration='71' file='apprendrekiteboardwavemasters3.mpg'
type='sport'/>
<video duration='89' file='apprendrekiteboardwavemasters4.mpg'
type='sport'/>
<video duration='88' file='apprendrekiteboardwavemasters5.mpg'
type='sport'/>
<video duration='69' file='apprendrekiteboardwavemasters6.mpg'
type='sport'/>
<video duration='106' file='freestyle_wavemaster2004_1.mpg'
type='sport'/>
<video duration='87' file='freestyle_wavemaster2004_2.mpg'
type='sport'/>
<video duration='67' file='surfchataineliorpromo1.mpg' type='sport'/>
<video duration='54' file='surfchataineliorpromo2.mpg' type='sport'/>
</videolist>
</group>
<group name='meteo'>
<video duration='8' file='meteo_eliorv2.mpg' type='generique'/>
<video duration='30' file='meteo_elior.mpg' type='meteo'/>
</group>
<group name='cinema'>
<video duration='7' file='cinema_eliorv2.mpg' type='generique'/>
<videolist tag='cinema.txt'>
<video duration='125' file='vanity_fair.mpg' type='cinema'/>
<video duration='96' file='kingdom_of_heaven.mpg' type='cinema'/>
<video duration='71' file='en_bonne_compagnie.mpg' type='cinema'/>
<video duration='100' file='le_vol_du_phoenix.mpg' type='cinema'/>
<video duration='138' file='star_wars_3.mpg' type='cinema'/>
<video duration='144' file='the_bridge_of_san_luis_rey.mpg'
type='cinema'/>
<video duration='88' file='amityville.mpg' type='cinema'/>
</videolist>
</group>
</playlist>
"""
reader = Sax2.Reader()
doc = reader.fromString(playlist)
xml.dom.ext.StripXml(doc)
walker = doc.createTreeWalker(doc.documentElement,
NodeFilter.SHOW_ELEMENT, None, 0)
while 1:
print walker.currentNode.getAttribute("file")
next = walker.nextNode()
time.sleep(0.1)
------------cut------------
When you execute it, as you can see, it get's stuck in the 1st
"videolist" element. It should normaly keep on going. And I can't see
what I'm doing wrong...
Any idea what's wrong ? Thanks in advance.
Best regards,
--
Alexandre CONRAD - TLV
Research & Development
tel : +33 1 30 80 55 05
fax : +33 1 30 80 55 06
6, rue de la plaine
78860 - SAINT NOM LA BRETECHE
FRANCE
More information about the XML-SIG
mailing list