XML help

Martin v. Loewis martin at v.loewis.de
Mon Mar 18 17:00:45 EST 2002


Vincent Foley <vince at news.videotron.ca> writes:

>   I have a XML document <http://freshmeat.net/projects-xml/vim/vim.xml>.
> I want to put the latest_version value in a variable.  How would I do
> that?

The following should work fine

from xml.sax import make_parser, ContentHandler

class find_latest_version(ContentHandler):
	def __init__(self):
		self.in_latest_version = 0
		
	def startElement(self, name, attrs):
		if name == 'latest_version':
			self.in_latest_version = 1
			self.data = ""

	def endElement(self, name):
		if self.in_latest_version:
			self.in_latest_version = 0

	def characters(self, data):
		if self.in_latest_version:
			self.data += data

c = find_latest_version()
p = make_parser()
p.setFeature("http://xml.org/sax/features/namespaces", 0)
p.setContentHandler(c)
p.parse("vim.xml")
print c.data

HTH,
Martin



More information about the Python-list mailing list