xml檔案如下:
text,source
xml,sgml
import xml.etree.celementtree as cet
etree = cet.elementtree(file= './datas/sourcefile/test_ceshi.xml')
# 獲取根節點
root = etree.getroot()
print(etree) # 物件
# 獲取根節點的標籤與屬性值
print(root.tag,root.attrib)
# 獲取根節點的子節點
for child_point in root:
print(child_point,child_point.tag,child_point.text.strip())
# 根據索引 切片
print(root[0].tag, root[0].text.strip())
print(root[0:3]) # 物件支援切片
# 查詢元素
# element物件有乙個iter方法,可以對某個元素物件之下所有的子元素進行深度優先遍歷(dfs)。elementtree物件
# 同樣也有這個方法。下面是查詢xml文件中所有元素的最簡單方法:
print('以下為查詢元素:')
for elem in etree.iter():
print(elem.tag,elem.text.strip())
print('根據標籤查詢元素:')
for elem in etree.iter(tag='branch'):
print(elem.tag, elem.text.strip())
# 使用xpath查詢感興趣的元素,更加方便。element物件中有一些find方法可以接受xpath路徑作為引數,find方法會返
# 回第乙個匹配的子元素,findall以列表的形式返回所有匹配的子元素,
# iterfind則返回乙個所有匹配元素的迭代器(iterator)。elementtree物件也具備這些方法,相應地它的查詢是從根
# 節點開始的。
print('下面是乙個使用xpath查詢元素的示例:')
for elem in etree.iterfind('doc/branch/sub-branch'):
print(elem.tag, elem.attrib)
print('上面的**返回了branch元素之下所有tag為sub - branch的元素。接下來查詢所有具備某個name屬性的branch元素:')
for elem in etree.iterfind('branch[@name="release01"]'):
print(elem.tag, elem.attrib)
參考文章: 建立xml檔案 解析xml檔案
import codecs import xml.dom.minidom doc xml.dom.minidom.document print doc root doc.createelement booklist print u 新增的xml標籤為 root.tagname root.setatt...
解析XML檔案
sax解析xml 得到saxparse ctory saxparse ctory saxparse ctory saxparse ctory.newinstance 得到saxparser saxparser saxparser saxparse ctory.newsaxparser 得到xmlre...
XML檔案解析
xml是可擴充套件標記語言,用來傳輸和儲存資料。xml文件必須包含根元素,該元素是所有其他元素的父元素。xml文件中的元素形成了樹形結構。xml有以下特點 建立名稱是 textfile1.txt 的文件,設定屬性 複製到輸出目錄 如果較新則複製 在工程執行時,會自動將該txt檔案複製到bin下面。2...