2017-03-09 40 views
0

解析XML并使用Python添加新数据解析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> 

我需要经/纬的值,并使用这些值添加额外的信息,像这样:

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

基本上,我不得不使用纬度/长度值,并构建一个与0.01度差异的框。 会是最简单的方法来完成此? (我有20数以千计的地标文件)

不知道它的问题,但是我在Mac OSX塞拉利昂

工作

回答

0

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