xml.sax parsing elements with the same name
amadain
mfmdevine at gmail.com
Mon Jan 11 14:13:01 EST 2010
I have an event log with 100s of thousands of entries with logs of the
form:
<event eventTimestamp="2009-12-18T08:22:49.035"
uniqueId="1261124569.35725_PFS_1_1340035961">
<result value="Blocked"/>
<filters>
<filter code="338" type="Filter_Name">
<diagnostic>
<result value="Triggered"/>
</diagnostic>
</filter>
<filter code="338" type="Filter_Name">
<diagnostic>
<result value="Blocked"/>
</diagnostic>
</filter>
</filters>
</event>
I am using xml.sax to parse the event log. The trouble with the file
above is when I parse for result value I get the last result value
(Blocked from above). I want to get the result value triggered (the
second in the event).
my code is as follows:
def startElement(self, name, attrs):
if name == 'event':
self.eventTime = attrs.get('eventTimestamp',"")
self.eventUniqueId = attrs.get('uniqueId', "")
if name == 'result':
self.resultValue = attrs.get('value',"")
return
def endElement(self, name):
if name=="event":
result= eval(self.filter)
if result:
...
How do I get the result value I require when events have the same
names like above?
More information about the Python-list
mailing list