當前位置:成語大全網 - 書法字典 - lxml.etree

lxml.etree

添加子元素:

打印:

特殊情況(可省略):

壹般來說,同壹個元素只能存在於壹個地方(不像原來的ElementTree API)。

請註意,在原始的ElementTree中,單個元素對象可以位於任意數量的樹中的任意數量的位置,這允許與列表相同的復制操作。明顯的缺點是,對這樣壹個元素的修改將應用於它出現在樹中的所有地方,這可能是有意的,也可能不是有意的。

這種差異的好處是lxml.etree中的元素總是只有壹個父元素,可以通過getparent()方法查詢。原始ElementTree中不支持這壹點。

如果要將元素復制到lxml.etree中的不同位置,可以考慮使用Python標準庫中的復制模塊創建壹個獨立的深度副本:from copy import deepcopy。

元素的Attrib成員完全支持字典接口。

請註意,對attrib成員的更改將應用於原始元素,反之亦然。使用dict(root.attrib)可以得到壹個獨立的字典。

基於數據的XML壹般只在葉節點包含文本,但是在超文本文檔中,文本可能出現在元素之間。

這可以由尾部成員支持(可以跳過):

請註意。文本成員僅包含元素子文本開頭的部分,而。tail成員包含緊跟在元素後面的文本。

使用tostring,您可以提取xml中包含的所有文本:

的。元素的iiter方法將產生壹個文檔樹順序的叠代器(註意它不同於直接叠代元素本身)。

當您為iter方法分配標記時,只有指定的元素會被叠代。

ElementTree類包含完整的文檔信息,比如DOCTYPE和DTD。

ElementTree是壹種使用parse()函數解析文件返回值的類型。

註意序列化時ElementTree和它的根節點之間的區別。

fromstring函數可以將壹個xml字符串解析成壹個xml元素(返回值類型是lxml.etree._Element類比如etree。元素)。

XML函數的行為與fromstring基本相同,同樣返回Element類。

還有壹個html函數,自動添加HTML和body元素(如果原來的字符串不存在)(也返回element類)。

註意:HTML函數的返回值仍將被視為標準XML。

parse函數主要用於解析完整的文檔,而上面提到的字符串解析函數主要用於解析文檔片段。

註意:parse函數返回壹個ElementTree對象,而不是壹個Element對象。

parse函數支持以下參數:

請註意,從文件名或url解析通常比從文件對象解析要快。

還沒有,看原文鏈接。

還沒有,看原文鏈接。

lxml.etree提供了兩種逐步增量解析的方法。壹種是通過類似文件的對象,其中它反復調用read()方法。第二種方式是通過feed解析器接口,由feed(data)和close()方法給出:

還沒有,看原文鏈接。

有時,您所需要的文檔只是樹深處的壹小部分,因此將整個樹解析到內存中、遍歷它並丟棄它會有很大的開銷。lxml.etree通過兩個事件驅動的解析器接口支持這個用例。

還沒有,看原文鏈接。

還沒有,看原文鏈接。

E-factory為生成XML和HTML提供了簡單緊湊的語法。基於屬性訪問的元素創建使得為XML語言構建簡單的詞匯表變得很容易:

還沒有,看原文鏈接。

ElementTree庫附帶了壹個簡單的類似XPath的路徑語言,稱為ElementPath。API在這裏提供了四種方法,您可以在元素和元素樹上找到它們: