Python操作XML檔案 XML概述

2021-09-17 20:32:24 字數 1125 閱讀 3400

xml:可擴充套件標置語言,為html(超文字標置語言)的補充。html用於顯示資料,而xml用於傳輸和儲存資料

一.xml語法

xml檔案通常分為兩部分:檔案宣告和檔案主體

=>檔案宣告:位於第一行

<?xml version="1.0" encoding="utf-8"?>

=>version標明此檔案所用的標準的版本號,必須要有

=>encoding標明此檔案中所使用的字元型別,可以省略;省略時後面的字元碼必須是unincode字元碼(建議不省略)

=>檔案主體

=>必須有根元素

=>標籤對大小寫敏感

=>屬性

應盡量避免使用屬性,因為屬性難以閱讀和維護,盡量使用元素來描述資料,僅使用屬性來提供與資料無關的資訊。

=>元資料(有關資料的資料,如id)應當儲存為屬性,而資料本身應儲存為元素

屬性值必須加「」或者『』。當屬性值含有「」時,用『』;當屬性值含有『』時,用「」;當屬性值既含有『』又含有「」時,用實體字元

=><   小於(<)     =>>   大於(>)     =>&   和號(&)     =>&apos   單引號(')     =>"   引號(")

=>注釋

=>空格

html中會把多個連續空格字元合併為乙個;但xml不會

=>換行

windows應用程式中,換行通常以一對字元來儲存:回車符(cr)和換行符(lf)

xml以lf儲存換行

二.dom(document object model,文件物件模型)

dom以樹狀的層次結構儲存xml文件中的資料,每個結點都是乙個相應物件。

dom解析器在任何處理任務開始之前,必須把基於xml檔案生成的樹狀資料放在記憶體,所以dom解析器的記憶體使用量完全根據xml檔案的大小來決定。=>占用記憶體大,解析和載入整個文件可能很慢且很耗資源

三.sax(****** api for xml)

sax是事件驅動(基於回溯機制的程式執行方法)的,犧牲了便捷性來換取速度和記憶體占用。不需要一次性讀入整個文件,而文件的讀入過程就是sax的解析過程,即逐行掃瞄文件,邊掃瞄邊解析。

四.elementtree

et的效能與sax模組大致相仿,但它的api更加高層次,使用者使用起來更加便捷。

Python 操作XML檔案

1 xml 建立 1 import xml.etree.elementtree as et 23 new xml et.element personinfolist 最外面的標籤名 4 personinfo et.subelement new xml,personinfo attrib 對應的引數是...

python的xml檔案操作

python中xml的操作可以使用dom庫 sax庫 etree庫 這個是新的 parsers庫。其中dom.minidom是dom輕量級模組,這裡介紹dom.minidom和etree兩個模組這裡以userinfo.xml檔案為例,xml 內容如下 xml解析 xmldoc minidom.par...

python 寫xml檔案的操作

要生成的xml檔案格式如下 sample xml thing ma xiaoju springs widgets,inc.first i think widgets are greate.you should buy lots of them forom spirngy widgts,inc fro...