从xml在这里中可以看到,有多个<item>节点,有一组子节点,如<summary>、<status>和<key>。
我遇到的问题是,在使用minidom时,可以获得firstChild和lastChild的值,但不一定在两者之间得到任何值。
我已经创建了下面这个不起作用的东西,但我认为这是我需要做的事情的近似值。
import xml.dom.minidom
xml = xml.dom.minidom.parse(result) # or xml.dom.minidom.parseString(xml_string)
itemList = xml.getElementsByTagName('item')
for 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)发布于 2014-03-24 18:57:13
定义连接所有文本子节点的get_text()函数(参见这个答案):
def get_text(element):
return " ".join(t.nodeValue for t in element[0].childNodes
if t.nodeType == t.TEXT_NODE)
dom = xml.dom.minidom.parseString(data)
itemList = dom.getElementsByTagName('item')
for 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 "----"指纹:
Unapprove all pull request reviewers after major change
Needs Triage
STASH-4473
----
Allow using left/right arrow to move side by side diff left/right
Needs Triage
STASH-4478
----希望这能有所帮助。
发布于 2014-03-24 19:02:20
不如像这样
for item in itemList:
lineText = ' '.join(child.nodeValue for child in item.childNodes)
p = Paragraph(lineText, style)
Story.append(p)https://stackoverflow.com/questions/22618080
复制相似问题