Changeset 391 for python/trunk/Demo/xml/elem_count.py
- Timestamp:
- Mar 19, 2014, 11:31:01 PM (11 years ago)
- Location:
- python/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
python/trunk
-
Property svn:mergeinfo
set to
/python/vendor/Python-2.7.6 merged eligible /python/vendor/current merged eligible
-
Property svn:mergeinfo
set to
-
python/trunk/Demo/xml/elem_count.py
r2 r391 1 """ 2 A simple demo that reads in an XML document and displays the number of 3 elements and attributes as well as a tally of elements and attributes by name. 4 """ 5 1 6 import sys 7 from collections import defaultdict 2 8 3 9 from xml.sax import make_parser, handler … … 8 14 self._elems = 0 9 15 self._attrs = 0 10 self._elem_types = {}11 self._attr_types = {}16 self._elem_types = defaultdict(int) 17 self._attr_types = defaultdict(int) 12 18 13 19 def startElement(self, name, attrs): 14 self._elems = self._elems +115 self._attrs = self._attrs +len(attrs)16 self._elem_types[name] = self._elem_types.get(name, 0) +120 self._elems += 1 21 self._attrs += len(attrs) 22 self._elem_types[name] += 1 17 23 18 24 for name in attrs.keys(): 19 self._attr_types[name] = self._attr_types.get(name, 0) +125 self._attr_types[name] += 1 20 26 21 27 def endDocument(self): … … 31 37 print "%20s %d" % pair 32 38 33 34 parser = make_parser()35 parser.setContentHandler(FancyCounter())36 parser.parse(sys.argv[1])39 if __name__ == '__main__': 40 parser = make_parser() 41 parser.setContentHandler(FancyCounter()) 42 parser.parse(sys.argv[1])
Note:
See TracChangeset
for help on using the changeset viewer.