您好我正在使用的xml文件有问题.现在发生的是每当我尝试获取msg标签时,我得到一个错误,阻止我访问数据.这是我到目前为止编写的代码.
from xml.dom import minidom
import smtplib
from email.mime.text import MIMEText
from datetime import datetime
def xml_data ():
f = open('C:\opidea_2.xml', 'r')
data = f.read()
f.close()
dom = minidom.parseString(data)
ic = (dom.getElementsByTagName('logentry'))
dom = None
content = ''
for num in ic:
xmlDate = num.getElementsByTagName('date')[0].firstChild.nodeValue
content += xmlDate + '\n '
xmlMsg = num.getElementsByTagName('msg')
if xmlMsg !='' and len(xmlMsg) > 0:
xmlMsgc = xmlMsg[0].firstChild.nodeValue
content += " Comments: \n " + str(xmlMsg) + '\n\n'
else:
xmlMsgc = "No comment made."
content += xmlMsgc
print content
if __name__ == "__main__":
xml_data ()
如果它有帮助,这是xml的一部分.
revision="33185">
glv
2012-08-06T21:01:52.494219Z
kind="file"
action="M">/branches/Patch_4_2_0_Branch/text.xml
kind="dir"
action="M">/branches/Patch_4_2_0_Branch
PATCH_BRANCH:N/A
BUG_NUMBER:N/A
FEATURE_AFFECTED:N/A
OVERVIEW:N/A
Adding the SVN log size requirement to the branch
现在当我使用xmlMsg = num.getElementsByTagName(‘msg’)[0] .toxml()时,我可以让代码工作,我只需要进行大量的替换,而不是必须这样做.我也使用xmlDate = num.getElementsByTagName(‘date’)[0] .firstChild.nodeValue进行日期工作.
有什么我遗失或做错了吗?这里还有追溯.
Traceback (most recent call last):
File "C:\python\src\SVN_Email_copy.py", line 141, in
xml_data ()
File "C:python\src\SVN_Email_copy.py", line 94, in xml_data
xmlMsg = num.getElementsByTagName('msg').firstChild.nodeValue
AttributeError: 'NodeList' object has no attribute 'firstChild'