symbian-qemu-0.9.1-12/python-2.6.1/Doc/includes/minidom-example.py
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 import xml.dom.minidom
       
     2 
       
     3 document = """\
       
     4 <slideshow>
       
     5 <title>Demo slideshow</title>
       
     6 <slide><title>Slide title</title>
       
     7 <point>This is a demo</point>
       
     8 <point>Of a program for processing slides</point>
       
     9 </slide>
       
    10 
       
    11 <slide><title>Another demo slide</title>
       
    12 <point>It is important</point>
       
    13 <point>To have more than</point>
       
    14 <point>one slide</point>
       
    15 </slide>
       
    16 </slideshow>
       
    17 """
       
    18 
       
    19 dom = xml.dom.minidom.parseString(document)
       
    20 
       
    21 def getText(nodelist):
       
    22     rc = ""
       
    23     for node in nodelist:
       
    24         if node.nodeType == node.TEXT_NODE:
       
    25             rc = rc + node.data
       
    26     return rc
       
    27 
       
    28 def handleSlideshow(slideshow):
       
    29     print "<html>"
       
    30     handleSlideshowTitle(slideshow.getElementsByTagName("title")[0])
       
    31     slides = slideshow.getElementsByTagName("slide")
       
    32     handleToc(slides)
       
    33     handleSlides(slides)
       
    34     print "</html>"
       
    35 
       
    36 def handleSlides(slides):
       
    37     for slide in slides:
       
    38         handleSlide(slide)
       
    39 
       
    40 def handleSlide(slide):
       
    41     handleSlideTitle(slide.getElementsByTagName("title")[0])
       
    42     handlePoints(slide.getElementsByTagName("point"))
       
    43 
       
    44 def handleSlideshowTitle(title):
       
    45     print "<title>%s</title>" % getText(title.childNodes)
       
    46 
       
    47 def handleSlideTitle(title):
       
    48     print "<h2>%s</h2>" % getText(title.childNodes)
       
    49 
       
    50 def handlePoints(points):
       
    51     print "<ul>"
       
    52     for point in points:
       
    53         handlePoint(point)
       
    54     print "</ul>"
       
    55 
       
    56 def handlePoint(point):
       
    57     print "<li>%s</li>" % getText(point.childNodes)
       
    58 
       
    59 def handleToc(slides):
       
    60     for slide in slides:
       
    61         title = slide.getElementsByTagName("title")[0]
       
    62         print "<p>%s</p>" % getText(title.childNodes)
       
    63 
       
    64 handleSlideshow(dom)