新聞中心
Python能夠簡單而有效地實現(xiàn)面向?qū)ο缶幊?,特別適用于快速應(yīng)用程序開發(fā),也可以用來開發(fā)大規(guī)模的重要的商業(yè)應(yīng)用。Python是一個理想的腳本語言,所以深受開發(fā)人員的大力支持,下面對Python示例進(jìn)行解說。

成都創(chuàng)新互聯(lián)公司是工信部頒發(fā)資質(zhì)IDC服務(wù)器商,為用戶提供優(yōu)質(zhì)的資陽托管服務(wù)器服務(wù)
測試結(jié)果表明, REXML xml.minidom樣消耗量資源:解析 Hamlet.xml 10 秒,占 14 MB 存;解析 Weblog.xml 190 秒,占 150 MB 存。顯然,編程語言選擇通常優(yōu)先于庫比較。。
ElementTree 個優(yōu)點(diǎn)于能夠被循環(huán)運(yùn)行。這指,您以讀入個 XML 實例,修改數(shù)據(jù)結(jié)構(gòu)使非常類似于本機(jī)風(fēng)格,然調(diào) .write() 進(jìn)行重新序列化得格式良好 XML。當(dāng)然,DOM 能做這點(diǎn),但 gnosis.xml.objectify不行。#t#
gnosis.xml.objectify構(gòu)造個定制輸出函數(shù)于生成 XML 不 那么困難 - 但這不能自動進(jìn)行。使 ElementTree 以及 ElementTree 實例 .write() ,通過便利函數(shù) elementtree.ElementTree.dump() 以序列化單獨(dú) Element 實例。這讓您以從單獨(dú)象節(jié)點(diǎn) - 其包括 XML 實例根節(jié)點(diǎn) - 編 XML 片段。
提出個簡單任務(wù)比較 ElementTree gnosis.xml.objectify API。于基準(zhǔn)測試型文檔 weblog.xml 包含約 8,500 個
處理該文時,任務(wù)能從每個 entry 收集些字段,但這只其某些字段有特定值(或范圍,或匹配部分容)。當(dāng)然,如果您確實只想運(yùn)行這個任務(wù)。使個流 API(如 SAX)以避免存整個文檔建模 - 但這里假定該任務(wù)應(yīng)程序型數(shù)據(jù)結(jié)構(gòu)運(yùn)行任務(wù)。個
- from elementtree
- import ElementTree
- weblog = ElementTree.parse(
- 'weblog.xml').getroot()
- interesting = [entry
- for entry
- in weblog.findall(
- 'entry')
- if entry.find(
- 'host').text==
- '209.202.148.31'
- and
- entry.find(
- 'statusCode').text==
- '200']
- for e
- in interesting:
注意面不同處。 Python子元素節(jié)點(diǎn)直接作節(jié)點(diǎn)屬性進(jìn)行連接(每個節(jié)點(diǎn)都個根據(jù)標(biāo)記名命名定制類)。另方面, ElementTree 使 Element 類查找子節(jié)點(diǎn)。 .findall() 返回所有匹配節(jié)點(diǎn)列表; .find() 則僅返回***匹配節(jié)點(diǎn);
返回節(jié)點(diǎn)文本容。如果您只想 gnosis.xml.objectify 子元素***匹配,只其建立索引即 - 例如, node.tag[0] 。但如果這樣子元素只有個,那么無需建立顯式索引,您以引用。
但 Python示例,其實您并不 需顯式查找所有
網(wǎng)站欄目:深度解讀Python示例說明
鏈接分享:http://m.fisionsoft.com.cn/article/djocsod.html


咨詢
建站咨詢
