python - Getting multiple children's values using minidom -


as can see xml here there multiple <item> nodes set of children such <summary>, <status> , <key>.

the problem i've encountered in using minidom, it's possible values of firstchild , lastchild, not values in between.

i've created below doesn't work, think close approximation of need doing

import xml.dom.minidom  xml = xml.dom.minidom.parse(result) # or xml.dom.minidom.parsestring(xml_string)  itemlist = xml.getelementsbytagname('item') item in itemlist [1:]:      summarylist = item.getelementsbytagname('summary')     statuslist = item.getelementsbytagname('status')     keylist = item.getelementsbytagname('key')      linetext = (summarylist[0].nodevalue + " " + statuslist[0].nodevalue  + " " + keylist[0].nodevalue)      p = paragraph(linetext, style)     story.append(p) 

define get_text() function joins of text child nodes (see this answer):

def get_text(element):     return " ".join(t.nodevalue t in element[0].childnodes                      if t.nodetype == t.text_node)   dom = xml.dom.minidom.parsestring(data) itemlist = dom.getelementsbytagname('item') item in itemlist[1:]:     summarylist = item.getelementsbytagname('summary')     statuslist = item.getelementsbytagname('status')     keylist = item.getelementsbytagname('key')      print get_text(summarylist)     print get_text(statuslist)     print get_text(keylist)     print "----" 

prints:

unapprove pull request reviewers after major change needs triage stash-4473 ---- allow using left/right arrow move side side diff left/right needs triage stash-4478 ---- 

hope helps.


Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -