2011-11-02 81 views
3

如何在xml文檔中用html標記&替換amphersand? 通常它的工作原理簡單地用在編碼/解碼後替換xml文檔中的&符號

a = u"TORE & Co & KG" 
i = a.replace('&','&') 
print i 

這不工作:讓我的XML結構一封電子郵件,並且這樣的處理它:

saver=StringIO(u"") # Edit 
a=str(msg) 
i= a.decode('quopri').decode('utf-8') 
saver.write(i) 
savercontent = saver.getvalue() 
savercontent.replace('&','&') 

最終更換這麼想的工作......沒有錯誤......,我該如何解決這個問題?我想這與編碼/解碼有關......任何幫助?

+0

你能告訴什麼'SAV ercontent'是? – chown

+0

感謝您的詢問:保存和保存內容來自於StringIO(u「」) – Jurudocs

回答

1

你可以嘗試:

a = str(msg) 
i = a.decode('quopri').decode('utf-8').replace('&', '&') 
saver.write(i) 
savercontent = saver.getvalue() 

或者試試:

i = a.decode('quopri').replace('&', '&').decode('utf-8') 
+0

hmm negative ...它不是取而代之......但非常感謝! – Jurudocs

+0

有沒有辦法通過輸入unicode簽名來取代它? – Jurudocs

+1

@Jurudocs我不太熟悉編碼,所以我不知道你如何使用unicode簽名(甚至不知道那是什麼,tbh)。儘管檢查我的編輯。 – chown

3

可能改變

savercontent.replace('&','&') 

savercontent = savercontent.replace('&','&') 
+0

@ Andrey:這也行得通......感謝您的幫助+1,但我個人更喜歡在更換之前寫入stringIO – Jurudocs