I added some functions to make a baby step into Domlette parsing. I call these the brain-dead APIs (though we use more decorous terms officially). You can now get yourself a crisp DOM with as little effort as:
>>> from Ft.Xml import Parse >>> doc = Parse("<hello>world</hello>")
And thence on to the usual fun stuff:
>>> print doc.xpath(u"string(hello)") world
Parse
also knows how to handle streams (file-like objects):
>>> doc = Parse(open("hello.xml"))
Do a help(Parse)
to get a warning about using that function with XML
that is not self-contained, and an example of how to parse such XML
properly in 4Suite.
There is also ParsePath
, which handles files paths and URLs:
>>> from Ft.Xml import ParsePath >>> doc = ParsePath("hello.xml") >>> doc = ParsePath("http://copia.ogbuji.net/blog/index.atom")
And what do you know? That last URL does not parse. My feed is ill-formed. ☠☠☠☠☠ (I love cursing in Unicode) Sigh. Gotta fix the PyBlosxom Atom generation. Maybe we need a touch of 4Suite (Amara, actually) there, as well.