File: iterator1.py

package info (click to toggle)
python-xml 0.8.4-10.1%2Blenny1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 4,972 kB
  • ctags: 10,628
  • sloc: python: 46,730; ansic: 14,354; xml: 968; makefile: 201; sh: 20
file content (29 lines) | stat: -rw-r--r-- 977 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
"""Demonstrates basic walking using DOM level 2 iterators"""

from xml.dom.ext.reader import PyExpat
from xml.dom.NodeFilter import NodeFilter

def Iterate(xml_dom_object):
    print "Printing all nodes:"
    nit = xml_dom_object.ownerDocument.createNodeIterator(xml_dom_object, NodeFilter.SHOW_ALL, None, 0)

    curr_node =  nit.nextNode()
    while curr_node:
        print "%s node %s\n"%(curr_node.nodeType, curr_node.nodeName)
        curr_node =  nit.nextNode()

    print "\n\n\nPrinting only element nodes:"
    snit = xml_dom_object.ownerDocument.createNodeIterator(xml_dom_object, NodeFilter.SHOW_ELEMENT, None, 0)

    curr_node =  snit.nextNode()
    while curr_node:
        print "%s node %s\n"%(curr_node.nodeType, curr_node.nodeName)
        curr_node = snit.nextNode()


if __name__ == '__main__':
    import sys
    reader = PyExpat.Reader()
    xml_dom_object = reader.fromUri(sys.argv[1])
    Iterate(xml_dom_object)
    reader.releaseNode(xml_dom_object)