新聞詳情
python 教程——XML 解析發(fā)表時(shí)間:2023-06-27 15:49 什么是 XML? XML 指可擴(kuò)展標(biāo)記語(yǔ)言(eXtensible Markup Language),標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言的子集,是一種用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語(yǔ)言。 你可以通過(guò)本站學(xué)習(xí) XML 教程 XML 被設(shè)計(jì)用來(lái)傳輸和存儲(chǔ)數(shù)據(jù)。 XML 是一套定義語(yǔ)義標(biāo)記的規(guī)則,這些標(biāo)記將文檔分成許多部件并對(duì)這些部件加以標(biāo)識(shí)。 它也是元標(biāo)記語(yǔ)言,即定義了用于定義其他與特定領(lǐng)域有關(guān)的、語(yǔ)義的、結(jié)構(gòu)化的標(biāo)記語(yǔ)言的句法語(yǔ)言。 Python 對(duì) XML 的解析 常見(jiàn)的 XML 編程接口有 DOM 和 SAX,這兩種接口處理 XML 文件的方式不同,當(dāng)然使用場(chǎng)合也不同。 Python 有三種方法解析 XML,SAX,DOM,以及 ElementTree: 1.SAX (simple API for XML ) Python 標(biāo)準(zhǔn)庫(kù)包含 SAX 解析器,SAX 用事件驅(qū)動(dòng)模型,通過(guò)在解析 XML 的過(guò)程中觸發(fā)一個(gè)個(gè)的事件并調(diào)用用戶定義的回調(diào)函數(shù)來(lái)處理 XML 文件。 2.DOM(Document Object Model) 將 XML 數(shù)據(jù)在內(nèi)存中解析成一個(gè)樹(shù),通過(guò)對(duì)樹(shù)的操作來(lái)操作 XML。 本章節(jié)使用到的 XML 實(shí)例文件 movies.xml 內(nèi)容如下: 實(shí)例 <collection shelf="New Arrivals"> <movie title="Enemy Behind"> <type>War, Thriller</type> <format>DVD</format> <year>2003</year> <rating>PG</rating> <stars>10</stars> <description>Talk about a US-Japan war</description> </movie> <movie title="Transformers"> <type>Anime, Science Fiction</type> <format>DVD</format> <year>1989</year> <rating>R</rating> <stars>8</stars> <description>A schientific fiction</description> </movie> <movie title="Trigun"> <type>Anime, Action</type> <format>DVD</format> <episodes>4</episodes> <rating>PG</rating> <stars>10</stars> <description>Vash the Stampede!</description> </movie> <movie title="Ishtar"> <type>Comedy</type> <format>VHS</format> <rating>PG</rating> <stars>2</stars> <description>Viewable boredom</description> </movie> </collection> |