[Home] [By Thread] [By Date] [Recent Entries]

  • From: Bob Kline <bkline@r...>
  • To: Paul M <pjmaip@y...>
  • Date: Wed, 20 May 2009 09:54:22 -0400

Paul M wrote:
>
> I am looking for a solution(application, ideas, designs) that would 
> return:
> 1. A listing of xpaths to elements
>
>

#!/usr/bin/python
import xml.sax, glob

class PathFinder(xml.sax.handler.ContentHandler):
    def __init__(self):
        self.paths = set()
    def startDocument(self):
        self.curPath = []
    def startElement(self, name, attributes):
        self.curPath.append(name)
        path = "/".join(self.curPath)
        self.paths.add(path)
    def endElement(self, name):
        self.curPath.pop()
pf = PathFinder()

# Adjust as appropriate for finding documents in your collection
for name in glob.glob("*.xml"):
    xml.sax.parse(name, pf)
paths = list(pf.paths)
paths.sort()
for path in paths:
    print path

-- 
Bob Kline
http://www.rksystems.com
mailto:bkline@r...



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member