成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

有關(guān)Python 2.0 XML問題全解析

開發(fā) 后端
Python 2.0 XML 是一種簡單易學(xué),功能強(qiáng)大的解釋型編程語言,它有簡潔明了的語法,高效率的高層數(shù)據(jù)結(jié)構(gòu),能夠簡單而有效地實(shí)現(xiàn)面向?qū)ο缶幊獭?/div>

PythonPython 2.0 XML 與一些規(guī)則表達(dá)式比較”樣式通常不能很好地適合對 XML 進(jìn)行徹底語法分析和處理,Python不僅有處理復(fù)雜數(shù)據(jù)結(jié)構(gòu)的直接方法,還有一系列 XML 相關(guān)的模塊可以幫助語法分析、處理和生成 XML。

XML-SIG (專門興趣組)的成員為維護(hù) Python 一系列 XML 工具做了許多工作。與其它 Python 專門興趣組一樣,XML-SIG 要維護(hù)郵件發(fā)送列表、列表檔案、有用的參考大全、文檔、標(biāo)準(zhǔn)包和其它資源(請參閱本文后的參考資料)。

Python 2.0 開始,Python 在其標(biāo)準(zhǔn)發(fā)行版中包括大多數(shù) XML-SIG 項(xiàng)目。最新的 XML-SIG 包可能包含一些 Python 標(biāo)準(zhǔn)發(fā)行版中沒有的“極端先進(jìn)”特性,但出于面向絕大多數(shù)人的目的

-- 包括本文中的討論 Python 2.0 XML 支持將是您感興趣的。幸運(yùn)的是,早期 Python 版本對 xmllib 的基本支持在 Python 2.0+ 下有了很大進(jìn)步。目前,Python 用戶能正常的選擇。

 DOM、SAX 和 expat 技術(shù)來處理 XML (使用其他編程語言的 XML 開發(fā)人員將會意識到這些)。xmllib 是一個非驗(yàn)證的低級語法分析器。應(yīng)用程序員使用的 xmllib 可以覆蓋 XMLParser 類,并提供處理文檔元素(如特定或類屬標(biāo)記,或字符實(shí)體)的方法。

Python 1.5x 到 Python 2.0+ 以來,xmllib 的使用方法并沒變化;在絕大多數(shù)情況下更好的選擇是使用 SAX 技術(shù),它也是種面向流的技術(shù),對語言和開發(fā)者來說更為標(biāo)準(zhǔn)。本文中的示例與原來專欄中的相同:包括一個叫做 quotations.dtd 的 DTD 以及這個 DTD 的文檔sample.xml (請參閱參考資料,以獲取本文中提到的文件的檔案)。

以下的代碼顯示了 sample.xml 中每段引言的前幾行,并生成了非常簡單的未知標(biāo)記和實(shí)體的 ASCII 指示符。經(jīng)過分析的文本作為連續(xù)流來處理,所使用的任何累加器都由程序員負(fù)責(zé)(如標(biāo)記中的字符串 (#PCDATA),或所遇到的標(biāo)記的列表或詞典)。

  1. classQuotationHandler(ContentHandler):  
  2.     """Crude extractor for quotations.dtd compliant XML document"""  
  3.     def__init__(self):  
  4.         self.in_quote = 0 
  5.         self.thisquote = '' 
  6.     defstartDocument(self):  
  7.         print '--- Begin Document ---'  
  8.     defstartElement(self, name, attrs):  
  9.         if name == 'quotation':  
  10.             print 'QUOTATION:'  
  11.             self.in_quote = 1 
  12.         else:  
  13.             selfself.thisquote = self.thisquote + '{'  
  14.     defendElement(self, name):  
  15.         if name == 'quotation':  
  16.             print string.join(string.split(self.thisquote[:230]))+'...',  
  17.             print '('+str(len(self.thisquote))+' bytes)'  
  18.             self.thisquote = '' 
  19.             self.in_quote = 0 
  20.         else: 

您可能需要展望標(biāo)準(zhǔn) XML 支持的未來的原因是,在進(jìn)行語法分析的同時需要進(jìn)行驗(yàn)證。不幸的是,標(biāo)準(zhǔn) Python 2.0 XML 包并不包括驗(yàn)證型語法分析器。xmlproc 是 python 原有的語法分析器,它執(zhí)行幾乎完整的驗(yàn)證。如果需要驗(yàn)證型語法分析器, xmlproc 是 Python 2.0 XML 當(dāng)前唯一的選擇。而且,xmlproc 提供其它語法分析器所不具備的各種高級和測試接口。

您可以直接導(dǎo)入 xml.parsers.expat。如果這樣做,您就能獲得 SAX 界面并不提供的一些特殊技巧。這樣,xml.parsers.expat 與 SAX 相比有些“低級”。但 SAX 技術(shù)非常標(biāo)準(zhǔn),對面向流的處理也非常好;

大多數(shù)情況下 SAX 的級別正合適。通常情況下,由于 make_parser() 函數(shù)已經(jīng)能獲得 expat 提供的性能,因此純速度的差異很小,DOM 可以用于修改 XML 文檔,因?yàn)榭梢詣?chuàng)建一棵 DOM 樹。

通過添加新節(jié)點(diǎn)和來回移動子樹來修改這棵樹,然后生成一個新的 XML 文檔作為輸出。您也可以自己構(gòu)造一棵 DOM 樹,然后將它轉(zhuǎn)換成 XML;用這種方法生成 XML 輸出比僅將 <tag1>...</tag1> 寫入文件的方法更靈活。

【編輯推薦】

  1. 如何使Python嵌入C++應(yīng)用程序?
  2. 深入探討Ruby與Python語法比較
  3. Python學(xué)習(xí)資料介紹分享
  4. Python學(xué)習(xí)經(jīng)驗(yàn)談:版本、IDE選擇及編碼解決方案
  5. 淺析Python的GIL和線程安全
責(zé)任編輯:chenqingxiang 來源: CSDN
相關(guān)推薦

2010-03-10 13:29:01

以太網(wǎng)交換機(jī)

2010-02-06 09:38:42

Android調(diào)用服務(wù)

2010-03-05 13:46:12

Android編程學(xué)習(xí)

2010-02-02 13:32:32

Python繼承

2010-03-01 18:21:08

Python測試

2018-05-30 15:10:24

Spring BootList類型

2010-01-28 13:15:43

C++參數(shù)

2010-02-05 18:04:36

Android程序框架

2010-03-10 15:36:52

交換機(jī)

2010-02-06 17:17:17

Android手機(jī)

2010-03-04 17:50:42

Android操作系統(tǒng)

2022-07-29 07:36:01

虛擬機(jī)編程語言

2009-05-05 17:52:48

系統(tǒng)安全密碼安全Windows

2010-02-03 13:27:17

Python 特性

2010-02-22 10:18:29

Python代碼

2010-02-24 16:33:28

Python功能

2010-03-01 14:28:46

Python進(jìn)程

2010-03-12 13:51:54

2010-02-05 16:44:27

Android平臺

2010-02-22 13:20:58

Python中文問題
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 四季久久免费一区二区三区四区 | www.天天操.com | 精品国产乱码久久久久久a丨 | 国产视频精品免费 | 精品一区二区电影 | 天堂久 | 99久久99 | 毛片毛片毛片毛片 | 成人在线中文字幕 | 涩涩视频网站在线观看 | 福利精品 | 少妇无套高潮一二三区 | 亚洲91精品 | 蜜桃毛片| 我要看黄色录像一级片 | 男人天堂久久久 | 黄色毛片大全 | 日韩精品视频一区二区三区 | 午夜精品视频在线观看 | 日韩精品1区2区 | 中文字幕视频在线 | 999精品在线 | 国产精品久久久久久久午夜片 | 国产精品免费一区二区三区四区 | 欧美日韩中文字幕在线 | 中文字幕一区二区三区四区五区 | 欧美激情综合五月色丁香小说 | 成人精品一区亚洲午夜久久久 | 国产在线观看av | 亚洲欧美国产精品久久 | 日韩精品成人 | 欧美精品中文字幕久久二区 | 中文字幕一区在线观看视频 | 99re| 亚洲日韩视频 | 国产农村妇女毛片精品久久麻豆 | 欧美精品1区2区3区 免费黄篇 | 日韩精品视频在线观看一区二区三区 | 成人激情视频网 | 国产精品久久av | 国产精品中文字幕一区二区三区 |