File: walker.py

package info (click to toggle)
python-xml 0.4.19981014-1
  • links: PTS
  • area: main
  • in suites: slink
  • size: 2,124 kB
  • ctags: 3,099
  • sloc: ansic: 9,075; python: 8,150; xml: 7,940; makefile: 84; sh: 41
file content (21 lines) | stat: -rw-r--r-- 451 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from xml.dom.core import *

class Walker:

	def walk(self, root):
		if root.get_nodeType() == DOCUMENT_NODE:
			c = root.documentElement
			assert c.get_nodeType() == ELEMENT_NODE
			return self.walk1(c)
		else:
			return self.walk1(root)
		
	def walk1(self, node):
		if node.get_nodeType() == ELEMENT_NODE:
			self.startElement(node)
			for child in node.get_childNodes():
				self.walk1(child)
			self.endElement(node)
		else:
			self.doText(node)