* Max Noel <[EMAIL PROTECTED]> [2005-01-19 11:48]:
On Jan 19, 2005, at 03:58, David Rock wrote:
For me, it seems that the way you are supposed to interact with an XML DOM is to already know what you are looking for, and in theory, you _should_ know ;-)
Indeed. The problem is, even if I know what I'm looking for, the problem remains that given the following document,
<foo> <bar>baz</bar> </foo>
If I want to get "baz", the command is (assuming a DOM object has been created):
doc.documentElement.getElementsByTagName("bar")[0].childNodes[0].nodeVal ue
Quoting from memory there, it may not be entirely correct. However, the command has more characters than the document itself. Somehow I feel it'd be a bit more elegant to use:
doc["bar"]
(or depending on the implementation, doc["foo"]["bar"])
Don't you think?
Absolutely. That is exactly what I was hoping for, too. ElementTree comes close, but even that can be a bit unwieldy because of the multi-dimentional array you end up with. Still, if you know the data,
doc[0][0] is a lot easier than doc.documentElement...nodeValue
Use the XPath support in ElementTree. Something like doc.find('foo/bar')
If I understand correctly Amara allows something like doc.foo.bar
I'll try to find the time to write up a full example using ElementTree, Amara and dom4j. Meanwhile see http://www.oreillynet.com/pub/wlg/6225 and http://www.oreillynet.com/pub/wlg/6239
Kent
------------------------------------------------------------------------
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor