cinap_lenrekadd hg and python4bb9e2215 years agoHistory
64 lines · 1.5 KB · Python
RawDownload
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)