Possible error in 'dive into Python' book, help!
Sion Arrowsmith
siona at chiark.greenend.org.uk
Mon Jul 31 12:19:10 EDT 2006
In article <mailman.8658.1154093256.27775.python-list at python.org>,
Ben Edwards (lists) <lists at videonetwork.org> wrote:
>I have been going through Dive into Python which up to now has been
>excellent. I am now working through Chapter 9, XML Processing. I am 9
>pages in (p182) in the 'Parsing XML section. The following code is
>supposed to return the whole XML document (I have put ti at the end of
>this email):
>
>from xml.dom import minidom
>
>xmldoc =
>minidom.parse('/home/ben/diveintopython-5.4/py/kgp/binary.xml')
>grammerNode = xmldoc.firstChild
>
>print grammerNode.toxml()
>
>But it only returns:
>
><!DOCTYPE grammar
> PUBLIC '-//diveintopython.org//DTD Kant Generator Pro v1.0//EN'
> 'kgp.dtd'>
>
>The next line is then
>
>grammerNode.childNodes
>
>And it returns an empty tuples;(
>
>Kind of stuck here as I don't really want to continue. Has anyone any
>idea what is going on?
OK, your xmldoc has two child nodes. The first is the <!DOCTYPE ... >
you're getting above. Which of course doesn't have any children, so
grammarNode.childNodes is naturally empty. The <grammar> element is
the *second* child of the xmldoc, so of course isn't xmldoc.firstChild.
Probably what you want is:
grammarNode = xmldoc.documentElement
Dive Into Python's assertion that "A Document always has only one
child node, the root element of the XML document" looks a little
off from where I'm standing:
>>> print xmldoc.toxml()
<?xml version="1.0" ?>
<!DOCTYPE grammar
PUBLIC '-//diveintopython.org//DTD Kant Generator Pro v1.0//EN' 'kgp.dtd'>
<grammar>
<ref id="bit">
<p>0</p>
<p>1</p>
</ref>
<ref id="byte">
<p><xref id="bit"/><xref id="bit"/><xref id="bit"/><xref id="bit"/><xref id="bit"/><xref id="bit"/><xref id="bit"/><xref id="bit"/></p>
</ref>
</grammar>
>>> xmldoc.childNodes
[<xml.dom.minidom.DocumentType instance at 0x4053640c>, <DOM Element: grammar at 0x40536f0c>]
>>>
--
\S -- siona at chiark.greenend.org.uk -- http://www.chaos.org.uk/~sion/
___ | "Frankly I have no feelings towards penguins one way or the other"
\X/ | -- Arthur C. Clarke
her nu becomeþ se bera eadward ofdun hlæddre heafdes bæce bump bump bump
More information about the Python-list
mailing list