xml 文件如下:
<?xml version="1.0" ?>
<Floor floorNumber="1" floorRefId="723413320329068590" isOutdoor="false" name="DevNetZone" objectVersion="19">
<Dimension height="16.5" length="81.9" offsetX="0.0" offsetY="0.0" unit="FEET" width="307.0"/>
<Image imageName="domain_0_1421088463647.png"/>
<GPSMarker name="GPS_Marker_17">
<GeoCoordinate latitude="36.125859" longitude="-97.066969" unit="DEGREES"/>
<MapCoordinate unit="FEET" x="0.6" y="0.6"/>
</GPSMarker>
<assign expr="split('�')"/>
</Floor>
程序如下:就是单纯读取一个 xml,再一模一样地写入一个新的 xml 文件里。
from xml.dom.minidom import parse
domTree = parse("test.xml")
with open('new.xml', 'w') as f:
# 缩进 - 换行 - 编码
domTree.writexml(f, addindent=' ', encoding='utf-8')#这里会报错,去掉 encoding 参数也一样
报错信息如下:
UnicodeEncodeError: 'gbk' codec can't encode character '\ufffd' in position 7: illegal multibyte sequence
就因为 xml 文件有这么个 FFFD,所以才报错。但现在不知道咋解决。难道应该 parse 函数加个 encoding 参数吗,就不能把这个 FFFD 当成字符串来读取吗。。
各位大佬帮忙看看吧,有点蒙。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.