Python Library Reference
Previous: Up: 8.7 xml.dom.minidom Next:


8.7.2 DOM Example

This example program is a fairly realistic example of a simple program. In this particular case, we do not take much advantage of the flexibility of the DOM.

import xml.dom.minidom
document = """\
<slideshow>
<title>Demo slideshow</title>
<slide><title>Slide title</title>
<point>This is a demo</point>
<point>Of a program for processing slides</point>
</slide>
<slide><title>Another demo slide</title>
<point>It is important</point>
<point>To have more than</point>
<point>one slide</point>
</slide>
</slideshow>
"""
dom = xml.dom.minidom.parseString(document)
def getText(nodelist):
 rc = ""
 for node in nodelist:
 if node.nodeType == node.TEXT_NODE:
 rc = rc + node.data
 return rc
def handleSlideshow(slideshow):
 print "<html>"
 handleSlideshowTitle(slideshow.getElementsByTagName("title")[0])
 slides = slideshow.getElementsByTagName("slide")
 handleToc(slides)
 handleSlides(slides)
 print "</html>"
def handleSlides(slides):
 for slide in slides:
 handleSlide(slide)
def handleSlide(slide):
 handleSlideTitle(slide.getElementsByTagName("title")[0])
 handlePoints(slide.getElementsByTagName("point"))
def handleSlideshowTitle(title):
 print "<title>%s</title>" % getText(title.childNodes)
def handleSlideTitle(title):
 print "<h2>%s</h2>" % getText(title.childNodes)
def handlePoints(points):
 print "<ul>"
 for point in points:
 handlePoint(point)
 print "</ul>"
def handlePoint(point):
 print "<li>%s</li>" % getText(point.childNodes)
def handleToc(slides):
 for slide in slides:
 title = slide.getElementsByTagName("title")[0]
 print "<p>%s</p>" % getText(title.childNodes)
handleSlideshow(dom)
Download as text (original file name: minidom-example.py).


Python Library Reference
Previous: Up: 8.7 xml.dom.minidom Next:

Release 2.5.2, documentation updated on 21st February, 2008.
See About this document... for information on suggesting changes.

AltStyle によって変換されたページ (->オリジナル) /