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

成都創(chuàng)新互聯(lián)公司是工信部頒發(fā)資質(zhì)IDC服務(wù)器商,為用戶提供優(yōu)質(zhì)的資陽(yáng)托管服務(wù)器服務(wù)
測(cè)試結(jié)果表明, REXML xml.minidom樣消耗量資源:解析 Hamlet.xml 10 秒,占 14 MB 存;解析 Weblog.xml 190 秒,占 150 MB 存。顯然,編程語(yǔ)言選擇通常優(yōu)先于庫(kù)比較。。
ElementTree 個(gè)優(yōu)點(diǎn)于能夠被循環(huán)運(yùn)行。這指,您以讀入個(gè) XML 實(shí)例,修改數(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)造個(gè)定制輸出函數(shù)于生成 XML 不 那么困難 - 但這不能自動(dòng)進(jìn)行。使 ElementTree 以及 ElementTree 實(shí)例 .write() ,通過(guò)便利函數(shù) elementtree.ElementTree.dump() 以序列化單獨(dú) Element 實(shí)例。這讓您以從單獨(dú)象節(jié)點(diǎn) - 其包括 XML 實(shí)例根節(jié)點(diǎn) - 編 XML 片段。
提出個(gè)簡(jiǎn)單任務(wù)比較 ElementTree gnosis.xml.objectify API。于基準(zhǔn)測(cè)試型文檔 weblog.xml 包含約 8,500 個(gè)
處理該文時(shí),任務(wù)能從每個(gè) entry 收集些字段,但這只其某些字段有特定值(或范圍,或匹配部分容)。當(dāng)然,如果您確實(shí)只想運(yùn)行這個(gè)任務(wù)。使個(gè)流 API(如 SAX)以避免存整個(gè)文檔建模 - 但這里假定該任務(wù)應(yīng)程序型數(shù)據(jù)結(jié)構(gòu)運(yùn)行任務(wù)。個(gè)
- 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)行連接(每個(gè)節(jié)點(diǎn)都個(gè)根據(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] 。但如果這樣子元素只有個(gè),那么無(wú)需建立顯式索引,您以引用。
但 Python示例,其實(shí)您并不 需顯式查找所有
文章名稱:深度解讀Python示例說(shuō)明
新聞來(lái)源:http://www.dlmjj.cn/article/djocsod.html


咨詢
建站咨詢
