解析XML并使用Python添加新数据
我正在尝试使用Python来完成手头的任务。 我有一个包含Google地球数据的XML文件,我需要根据找到的值添加额外的行。 该文件的一部分如下所示:
<Placemark>
<name>point1</name>
<LookAt>
<longitude>-80.08115898513155</longitude>
<latitude>26.46738083560542</latitude>
<altitude>0</altitude>
<heading>2.100279283904433e-011</heading>
<tilt>0</tilt>
<range>1000.000208146521</range>
<altitudeMode>relativeToGround</altitudeMode>
</LookAt>
<styleUrl>#msn_wht-blank130010</styleUrl>
</Placemark>
我需要获取lat / long的值并使用这些值添加其他信息,如下所示:
<Placemark>
<name>point1</name>
<LookAt>
<longitude>-80.08115898513155</longitude>
<latitude>26.46738083560542</latitude>
<altitude>0</altitude>
<heading>2.100279283904433e-011</heading>
<tilt>0</tilt>
<range>1000.000208146521</range>
<altitudeMode>relativeToGround</altitudeMode>
</LookAt>
<styleUrl>#msn_wht-blank130010</styleUrl>
</Placemark>
<LatLonAltBox>
<north>26.477380835605423</north>
<south>26.45738083560542</south>
<east>-80.07115898513155</east>
<west>-80.09115898513156</west>
</LatLonAltBox>
基本上我必须使用lat / long值,并构造一个0.01度差异的框。 这将是最简单的方法吗? (我有一个包含20万个这些地标的文件)
不确定是否重要,但我正在使用Mac OSX Sierra
答案 0 :(得分:0)
我建议您使用Python的"elementree" XML解析器库。它具有您需要的所有功能,在我看来,它是最简单的内置解析器。使用"os.walk"查找需要解析的每个xml文件,然后解析每个文件,然后使用包含其他标记的新修改的XML树覆盖它们。