【问题标题】:Python minidom parsing xml gives None or empty string instead of values from xmlPython minidom 解析 xml 给出 None 或空字符串,而不是来自 xml 的值
【发布时间】:2013-09-18 09:59:53
【问题描述】:

我正在尝试使用 minidom 在 Python 中解析 SAP 结果 xml 文件(在 soapUI 中生成),一切顺利,直到检索值。

无论是什么类型的节点,打印的值都是None 或者只是空字符串。 节点有不同的类型,到目前为止我能得到的唯一值是元素节点的标签名称。当谈到它的价值时,我得到None。 对于文本一,我得到#text 对应nodeName3 对应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>

【问题讨论】:

标签: python xml minidom


【解决方案1】:

你应该看看item_list[0].childNodes[1].childNodes。这些可能包含您正在寻找的内容。例如:

item_list[0].childNodes[11].childNodes[0].nodeValue

是日期

u'2012-08-01'

1 类型的节点没有nodeValue,而是childNodes3(文本节点)类型的节点有一个nodeValue

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多