2017-03-09 35 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樹覆蓋它們。