解析XML并使用Python添加新数据

时间:2017-03-09 13:46:23

标签: python xml

解析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

1 个答案:

答案 0 :(得分:0)

我建议您使用Python的"elementree" XML解析器库。它具有您需要的所有功能,在我看来,它是最简单的内置解析器。使用"os.walk"查找需要解析的每个xml文件,然后解析每个文件,然后使用包含其他标记的新修改的XML树覆盖它们。