解析xml文本

# parsexml.py  
# 本例子參考自python聯機文檔,做了適當改動和添加  
  
import xml.parsers.expat  
  
# 控制打印縮進  
level = 0  
  
# 獲取某節點名稱及屬性值集合  
def start_element(name, attrs):  
    global level  
    print '  '*level, 'Start element:', name, attrs  
    level = level + 1  
  
# 獲取某節點結束名稱  
def end_element(name):  
    global level  
    level = level - 1  
    print '  '*level, 'End element:', name  
      
# 獲取某節點中間的值  
def char_data(data):  
    if(data == '\n'):  
        return  
    if(data.isspace()):  
        return  
    global level  
    print '  '*level, 'Character data:', data  
  
p = xml.parsers.expat.ParserCreate()  
  
p.StartElementHandler = start_element  
p.EndElementHandler = end_element  
p.CharacterDataHandler = char_data  
p.returns_unicode = False  
  
f = file('sample.xml')  
p.ParseFile(f)  
f.close()


本文章來至源碼世界  http://www.ymsky.net/views/35799.shtml
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章