2015-06-30 28 views
0

我有一個XML文件,如下所示:ElementTree中沒有找到根正確

<?xml version="1.0" encoding="UTF-8"?> 
<gexf xmlns="http://www.gexf.net/1.2draft" version="1.2"> 
    <graph mode="static" defaultedgetype="directed"> 
     <nodes> 
      <node id="0" label="Hello" /> 
      <node id="1" label="Word" /> 
     </nodes> 
     <edges> 
      <edge id="0" source="0" target="1" /> 
     </edges> 
    </graph> 
</gexf> 

當我運行下面的代碼:

import xml.etree.cElementTree as ET 
import xml.sax 

with open('basic.gexf', 'r') as xml_file: 
    tree = ET.parse(xml_file) 
    root = tree.getroot() 

root.tag 

我得到以下輸出:

'{http://www.gexf.net/1.2draft}gexf' 

它不應該只是'gexf'嗎?

我的目標是獲得圖的屬性&節點&邊緣。我怎樣才能不用手動提供命名空間呢?

回答

0

{http://www.gexf.net/1.2draft}代表gexf的名稱空間(xmlns)。

您看到的值是預期值。

+0

那我怎麼才能得到'gexf'呢?沒有處理命名空間。 – SpiderRico

+0

@SpiderRico,我不認爲'ElementTree'內置任何東西都可以這樣做。你爲什麼需要它? –

+0

那麼我該如何解析和比較呢?在這種情況下,我不需要手動輸入名稱空間嗎? – SpiderRico

相關問題