I have been trying to do what should be a very simple action: Extract values from element tags.
I first grab my data from a website with httplib:
>> connection = httplib.HTTPSConnection(serverUrl)
>> connection.request("POST", serverDir, buildRequestXml("ReturnAll", "1"), buildHttpHeaders())
>> response = connection.getresponse()
>> from xml.dom.minidom import parse, parseString
>> data = ""> >> connection.close()
>> response = parseString(data)
>> itemIDs = response.getElementsByTagName("ItemID")
>> response.unlink()
I have tried everything I can find to extract the values from the <ItemID> elements:
>> for item in itemIDs:
>> print item
yeilds
<DOM Element: ItemID at 0x7f532c0c>
<DOM Element: ItemID at 0x7f5400cc>
<DOM Element: ItemID at 0x7f54656c>
<DOM Element: ItemID at 0x7f54ea0c>
<DOM Element: ItemID at 0x7f555eac>
Okay, no problem. Now all I have to do is figure out which particlular.string.of.words.interconnected.by.periods to pass to extract the values.
>> for item in itemIDs:
>> print item.nodeValue
Seems logical:
None
None
None
None
None
Oh for crying out loud ...
Hmmm ... I have saved the output from response.read() to a file and sure enough, amid all the other element tags, I find the expected values in <ItemID>
My problem is: I'm ignorant. I don't know whether my data is being returned from parseString() as text, or a list or a beautiful rainbow made of skittles and pixie droppings. The Python/XML howto and the bajillion other "XML made clear to YOU!" sites I have looked at have left me more confused ... I'm just completely lost in the (apparently arbitrary) nomeclature of lists, nodes, elements, trees, habitrails and intestines. (Yes, I'm just complaining now, but dang it! I'm frustrated!
*ahem*
Could someone kindly point out where I am going wrong and perhaps send me to a very *practical* introduction to reading data from a dom?
Thanks!
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor