xml.sax parsing elements with the same name
amadain
mfmdevine at gmail.com
Mon Jan 11 16:24:14 EST 2010
On Jan 11, 9:03 pm, John Bokma <j... at castleamber.com> wrote:
> amadain <mfmdev... at gmail.com> writes:
> > On Jan 11, 7:26 pm, John Bokma <j... at castleamber.com> wrote:
> >> amadain <mfmdev... at gmail.com> writes:
> >> > <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>
> > how do I keep track? The first result value is outside a filters
> > section and the rest are. Do you mean something like:
>
> > 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',"")
> > if name == filters:
> > if name == 'result':
> > self.resultValueF = attrs.get('value',"")
> > return
>
> I was thinking about something like:
>
> self.filterIndex = 0
>
> in startElement:
>
> if name == 'filter':
> self.filterIndex += 1
> return
> if name == 'result' and self.filterIndex == 1:
> ... = attrs.get('value', '')
>
> in EndElement
>
> if name == 'filters':
> self.filterIndex = 0
>
> If you want the result of the first filter in filters
>
> --
> John Bokma
>
> Read my blog:http://johnbokma.com/
> Hire me (Perl/Python):http://castleamber.com/e e
Thank you. I will try that
More information about the Python-list
mailing list