2011-11-02 58 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