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...