私は次のことをしようとしていますが、最終的に Outlook にフィードされるデータはめちゃくちゃです。入力、出力、およびコードについては、以下の貼り付けリンクを参照してください。
1.minidom を使用して xml からデータを読み取ります 2.ハイパーリンクがある場合は、正規表現に置き換えて ahref 属性を追加します 3.データを Outlook に出力します
INPUT/Output:-
http://pastie.org/5408694
私のコード:-
# Import package to access Outlook
import win32com.client
import re
import xml.dom.minidom as minidom
resultslis=[]
def getsanityresults(xmlfile):
dom = minidom.parse(xmlfile)
data=dom.getElementsByTagName('Sanity_Results')
textnode = data[0].childNodes[0]
testresults=textnode.data
for line in testresults.splitlines():
line = line.strip('\r,\n')
line = re.sub(r'(http://[^\s]+|//[^\s]+|\\\\[^\s]+)', r'<a href="\1">\1</a>', line)
print line
resultslis.append(line)
return resultslis
def main ():
file = open('results.xml','r')
sanityresults=getsanityresults(file)
print sanityresults
msg_body=("<HTML><head></head>"
"<body> <font face = \"Calibri\" <br>"
"<font face = \"Calibri\"%s<br><br>"
"</body></html>"
) % (sanityresults)
olMailItem = 0x0
obj = win32com.client.Dispatch("Outlook.Application")
newMail = obj.CreateItem(olMailItem)
newMail.HTMLBody = msg_body
newMail.display()
if __name__ == '__main__':
main()