我有这个来自sql的xml,我想用python 2.7和lxml做同样的事情
<?xml version="1.0" encoding="utf-16"?>
<results>
<Country name="Germany" Code="DE" Storage="Basic" Status="Fresh" Type="Photo" />
</results>
现在我有:
from lxml import etree
# create XML
results= etree.Element('results')
country= etree.Element('country')
country.text = 'Germany'
root.append(country)
filename = "xmltestthing.xml"
FILE = open(filename,"w")
FILE.writelines(etree.tostring(root, pretty_print=True))
FILE.close()
你知道如何添加其他属性吗?
将我的评论提升为答案:
@sukbir可能没有使用Windows。结果是lxml在XML头和正文之间写了一个新行(0A 00,UTF-16LE格式)。然后,Win文本模式将其调至0D 0A 00,这使得之后的所有内容看起来都像UTF-16BE,因此在显示时都是中文etc字符。在这个例子中,您可以在打开文件时使用“wb”而不是“w”来解决这个问题。不过,我强烈建议您使用“UTF-8”(拼写与此完全相同)作为编码。你为什么要用UTF-16?你喜欢大文件和/或奇怪的问题吗?
注意,这也会打印物料清单
相关问题 更多 >
编程相关推荐