minidom

Duncan Smith buzzard at urubu.freeserve.co.uk
Tue Dec 4 11:34:31 CET 2001


"Peter Hansen" <peter at engcorp.com> wrote in message
news:3C0C7DD5.AC50A8CB at engcorp.com...
> Duncan Smith wrote:
> >
> > This may be a stupid question, but I'm struggling.  I can retreive
> > information from an XML file (using minidom) as long as it is a node
> > attribute.  But I cannot figure out how to get data otherwise.  eg.
> >
> > <VAR NAME="ESLeak" TYPE="discrete" XPOS="16030" YPOS="16030">
> >
> >     <DESCRIPTION>EngineStart Leak</DESCRIPTION>
> >
> >     <STATENAME>good</STATENAME>
> >
> >     <STATENAME>bad</STATENAME>
> >
> > XPOS etc. no problem.  But how (using minidom) do I retreive 'Engine
Start
> > Leak' and 'good' etc?  Anyone know of any good documentation / worked
> > examples for minidom?  Thanks in advance.
>
> For one, you should probably start your XML document with
> <?xml version="1.0"?> or it won't be valid XML (but that's
> not necessary for this case.)  You also need to close
> the <VAR> tag at the end with </VAR> or you'll get a
> parse error (SAXParseException).  Having done that:
>

Yes.  It was just a snippet pasted from an existing XML document.  I should
have tidied it up.

> >>> from xml.dom import minidom
> >>> doc = minidom.parseString(open('test.xml').read())
> >>> doc.getElementsByTagName('DESCRIPTION')[0].childNodes[0].nodeValue
> u'EngineStart Leak'
>

OK.  I'll give that a go.  I was using 'doc = xml.dom.minidom.parse(f)' and
getting 'None' returned from 'nodeValue'.  Cheers.

Duncan

> That should give you a start.  Use the interactive prompt
> and use dir() a lot.  For example:
>
> >>> dir(doc)
> ['childNodes', 'doctype', 'implementation', 'ownerDocument', 'parentNode']
> >>> dir(doc.childNodes[0])
> ['_attrs', '_attrsNS', 'childNodes', 'localName', 'namespaceURI',
'nextSibling',
>  'nodeName', 'nodeValue', 'ownerDocument', 'parentNode', 'prefix',
>  'previousSibling', 'tagName']
>
> The API is effectively the DOM standard, so you shouldn't have
> much trouble if you have a reference to that handy.
>
> --
> ----------------------
> Peter Hansen, P.Eng.
> peter at engcorp.com





More information about the Python-list mailing list