【问题标题】:Python, extract date from XMLPython,从 XML 中提取日期
【发布时间】:2014-11-26 11:41:12
【问题描述】:

抱歉,我的 Python 知识完全不存在。我需要从一些 XML 中提取日期,其格式类似于:

<Header>
<Version>1.0</Version>
....
    <cd:Data>...</Data>
    .....
    <cd:DateReceived>20070620171524</cd:DateReceived>

环顾四周,我发现了类似的东西

#!/usr/bin/python
from xml.dom.minidom import parse  
import xml.dom.minidom

# Open XML document using minidom parser
DOMTree = xml.dom.minidom.parse("date.xml")
collection = DOMTree.documentElement

print collection.getElementsByTagName("cd:DateReceived").item(0)

但是这只会打印十六进制值:

<DOM Element: cd:DateReceived at 0x1529e0>

如何获取日期 20070620171524?

我试过用下面的

#!/usr/bin/python
from xml.dom.minidom import parse  
import xml.dom.minidom

# Open XML document using minidom parser
DOMTree = xml.dom.minidom.parse("date.xml")
collection = DOMTree.documentElement

date = cd:DateReceived[0].firstChild.nodeValue
print date

但它给出了一个错误,因为它不喜欢标签的“cd”部分

date = cd:DateReceived[0].firstChild.nodeValue
         ^
SyntaxError: invalid syntax

任何帮助将不胜感激。谢谢!

【问题讨论】:

  • 那个十六进制值是指向 DOM 元素对象的指针的地址。如果你对它执行.data,它应该返回值。

标签: python xml date extraction


【解决方案1】:

collection.getElementsByTagName("cd:DateReceived").item(0) 返回一个节点。从那个节点,你可以得到nodeValue

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-25
    • 1970-01-01
    • 1970-01-01
    • 2021-03-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-27
    • 2023-03-24
    相关资源
    最近更新 更多