我正在尝试使用minidom在Python中解析SAP结果xml文件(在soapUI中生成),一切顺利,直到检索值。
无论是什么类型的节点,打印的值都是None
或只是空字符串。
节点有不同的类型,到目前为止我只能得到的值是元素节点的标签名称。谈到它的价值,我得到None
。
对于文本,#text
为nodeName
,3
为nodeType
,nodeValue
为空字符串。
它有什么不对吗?
代码是:
from xml.dom.minidom import parse, Node
def parseData():
try:
data = parse('data.xml')
except (IOError):
print 'No \'data.xml\' file found. Move or rename the file.'
Milestones = data.getElementsByTagName('IT_MILESTONES')
for node in Milestones:
item_list = node.getElementsByTagName('item')
print(item_list[0].childNodes[1].nodeName)
print(item_list[0].childNodes[1].nodeType)
print(item_list[0].childNodes[1].nodeValue)
虽然XML结构的重要部分看起来像这样:
<IT_MILESTONES>
<item>
<AUFNR>000070087734</AUFNR>
<INDEX_SEQUENCE>2300</INDEX_SEQUENCE>
<MLSTN>1</MLSTN>
<TEDAT>2012-08-01</TEDAT>
<TETIM>09:12:38</TETIM>
<LST_ACTDT>2012-08-01</LST_ACTDT>
<MOBILE>X</MOBILE>
<ONLY_SL/>
<VORNR>1292</VORNR>
<EINSA/>
<EINSE/>
<NOT_FOR_NEXT_MS>X</NOT_FOR_NEXT_MS>
</item>
</IT_MILESTONES>
答案 0 :(得分:1)
您应该查看item_list[0].childNodes[1].childNodes
。这些可能包含您正在寻找的内容。例如:
item_list[0].childNodes[11].childNodes[0].nodeValue
是日期
u'2012-08-01'
1
类型的节点没有nodeValue
但childNodes
。类型3
(文本节点)的节点具有nodeValue
。