LXML結合這些庫的Python語言的簡潔的速度。
兼容從2.4 CPython的所有版本的3.2
什麼在此版本中是新的:
- 在lxml.html.iterlinks現在返回元刷新標記中的鏈接。
- 新XMLParser的選項collect_ids = false來禁止ID哈希表的創建。這可以基本上加快文件解析與未使用的許多不同的ID。
- 解析器使用每個文件的哈希表的XML標識。這減少了全局分析器字典的負荷並加速解析為許多不同的ID的文檔。
- ElementTree.getelementpath(元素)返回給定的元件,其可用於查找後的結構ElementPath表達李>
- 在XMLFILE()接受關閉= true一個新的說法,關閉文件(樣)寫在他們之後的對象。之前,XMLFILE()只關閉,如果它已經在內部打開該文件。
- 允許"字節組"類型ASCII文本輸入。
什麼是3.4.2版本,新的:
- 在lxml.html.iterlinks現在返回內部鏈接元刷新標籤。
- 新XMLParser的選項collect_ids = false來禁止ID哈希表的創建。這可以基本上加快文件解析與未使用的許多不同的ID。
- 解析器使用每個文件的哈希表的XML標識。這減少了全局分析器字典的負荷並加速解析為許多不同的ID的文檔。
- ElementTree.getelementpath(元素)返回給定的元件,其可用於查找後的結構ElementPath表達李>
- 在XMLFILE()接受關閉= true一個新的說法,關閉文件(樣)寫在他們之後的對象。之前,XMLFILE()只關閉,如果它已經在內部打開該文件。
- 允許"字節組"類型ASCII文本輸入。
什麼是3.3.2版本,新的:
- 在屬性解析器和版本,還有方法set_element_class_lookup()和makeelement(),從iterparse對象丟失了。
- XML模式,Schematron的和RelaxNG的實例沒有運行驗證之前清除當地的error_log。
- lxml.doctestcompare混合起來"預期"和"實際"在屬性值。
在什麼版本3.3.1新是:
- 在錯誤修正:
- 解析與parser.feed HTML文檔()未能找到標籤迭代中的元素。
- 在大廈PyPy由於*()在PyPy的C-API失踪PyUnicode_Compare()和PyByteArray _支持失敗。
- 編纂MSVC失敗,原因是缺少" stdint.h"標準的頭文件。
- iterparse()無法解析BOM前綴的文件。
在什麼版本3.3.0新是:
- 在錯誤修正:
- 區別於文件的URL路徑的啟發式收緊,產生更少的假陰性。
什麼是3.2.3版本,新的:
- 修正為Python 2.4的支持而被丟在3.2 0.2。
什麼是3.2.1版本的新:
- 在該方法apply_templates()和process_children(中) XSLT擴展元素已經獲得了兩個新的布爾選項elements_only和remove_blank_text,從結果列表中丟棄或者所有字符串或僅空白字符串。
什麼是3.2.0版本的新:
- 在領先的空白可以改變字符串解析行為功能lxml.html。
- 在字符串中的解析函數lxml.html在像框架集或丟失body標籤少見的HTML內容的臉部更加堅固。
- 在I / O錯誤,而試圖訪問文件包含非ASCII字符可能引發的UnicodeDecodeError路徑,而不是正確地報告IO錯誤。
- 從內存字符串解析在默認解析器禁用的網絡接入,並提出後續嘗試從URL解析失敗。
什麼是3.1.2版本,新的:
- 在穿過的命名空間,不知道屬性的API薩克斯橋(即handler.startElement()方法)失敗,一個TypeError。
- 修正了系列化的XSLT轉換的輸出結果樹為Unicode字符串時的錯誤。
什麼是3.0.2版本,新的:
- 在翻譯過程中關機修正了切換到用Cython 0.17 .3樓。
什麼是3.0版本中新的:
- 在C14N允許指定的包容性前綴晉升為自上而下在專屬的序列化水平。
- 在PyPy建設(通過cpyext)的初步支持。
- 在DTD對象獲得了API,允許其申報讀取權限。
- xpathgrep.py獲得解析線逐線(例如從grep的輸出)和環繞輸出一個新的根標籤的支持。
- 在電子廠lxml.builder接受已知數據類型的亞型(如串亞型)建築周圍元素時。
- 樹迭代和iterparse()與選擇性標籤參數通過支持一組標籤。樹節點將被迭代器返回如果他們匹配任何標籤。
在什麼版本2.3.5新是:
- 在合併中element.remove文本節點時崩潰( )。
- 在報告空當DOCTYPE在崩潰薩克斯/目標解析器。
什麼是2.3.4版本,新的:
- 在崩潰建設nsmap(元素屬性)同當空空間URI。
- 螺紋XSLT處理期間,當錯誤(或用戶信息)發生碰撞,由於競爭狀態。
- 在XSLT樣式表彙編可以忽略編譯錯誤。
在什麼版本2.3.3新是:
- 在功能的加入:
- lxml.html.tostring()獲得了新的序列化選項with_tail和DOCTYPE。
- 錯誤修正:
- 在使用iterparse()時,對HTML解析和請求啟動事件修正了崩潰。
- 修正的cssselect更多的選擇解析。前偽元素和偽類是空白因為顯著它是一個後代組合子。 " E:偽"應該分析一樣" E *:偽",&不QUOT; E:偽"
- lxml.html.diff不再打“IMG”標籤沒有'SRC“屬性時,會引發異常。
什麼2.3.2版本新:
- 在功能的加入:
- lxml.objectify.deannotate()有一個新的布爾選項cleanup_namespaces除去客觀化名稱空間聲明(一般清理命名空間聲明)刪除類型標註後。
- lxml.objectify獲得它自己的子元件()函數作為etree.SubElement的副本,以避免用戶側lxml.etree的否則冗餘導入。
- 錯誤修正:
- 修正了"後裔"臭蟲在cssselect第二次(在LXML 2.3.1首次定位之後)。以前的更改導致的翻譯表達的基於XPath的評價嚴重的性能下降。注意,這打破了一些以前在2.3.1工作所生成的XPath表達式作為XSLT位置路徑的使用。
- 修正了一些cssselect選擇的解析。空格組合子&QUOT後;>"," +"和" QUOT〜&;現在可以正確地忽略。此前被被解析為後代組合子。例如," DIV> .foo"被解析一樣" DIV> * .foo"而不是" DIV> .foo"
在什麼版本2.3.1新是:
- 在功能的加入:
- 在新選項kill_tags在lxml.html.clean去除特定的標記及其內容(即自己的整個子樹)。
- pi.get()和pi.attrib上從處理指令的文本內容解析偽屬性處理指令。
- lxml.get_include()返回包括可用於編譯針對lxml.etree外部的C代碼路徑列表。這是專門針對需要靜態鏈接LXML構建代碼的時候需要對編譯完全相同的頭文件作為版本本身LXML
- Resolver.resolve_file()需要一個附加選項CLOSE_FILE說,如果配置文件(狀)對象將讀取或後沒有關閉。默認情況下,該文件將被關閉,因為用戶不期望繼續對它的引用。
- 錯誤修正:
- HTML清潔並沒有消除“數據:”鏈接
- 的html5lib解析器整合現在使用的html5lib本身的“官方”的實施,這使得它與庫更新版本的發布工作。
- 在lxml.sax,endElementNS()可能會錯誤地拒絕時,相應的啟動事件推斷為默認命名空間相同的純標籤名純標籤名稱。
- 當一個開放的類文件對象傳遞到解析()或iterparse(),解析器將不再關閉它後使用。這在恢復2.3 LXML的變化,所有的文件將被關閉。這是用戶的責任妥善關閉文件(狀)的對象,也是在錯誤情況。
- 在lxml.html.cleaner斷言錯誤丟棄的頂級元素時。
- 在lxml.cssselect,而不是使用“A /後裔:: B'中的XPath”A // B'(簡稱'A /後代或自身::節點()/ B')的CSS後代選擇器(“A,B”)。這使得一些邊緣情況是在WebKit和Firefox中,選擇行為一致,使更多的CSS表達式有效的位置路徑(在XSL使用:模板匹配)。
- 在lxml.html,非選擇<選項>標籤不再顯示在收集的形式值。
- 添加/刪除<選項>值/從多個選擇表單域正確選擇它們並取消選擇他們。
- 其他變化:
- 在靜態建立可以指定與--download-dir選項下載目錄。
在什麼2.3版本是新的:
- 在功能的加入:
- 當尋找兒童,lxml.objectify以“{}標記”為意指一個空的命名空間,相對於母體命名空間。
- 錯誤修正:
- 當完成了從一個類文件對象中讀取,解析器立即調用它。關閉()方法。
- 在完成後的解析,iterparse()立即關閉輸入文件。
- 在解決類似的錯誤libxml2的解析severly破碎的文件(固定libxml2的2.7.8),之後可以將HTML解析器在非功能狀態。
- 在馬凱標籤正確命名字幕。
- 其他變化:
- 在用Cython級別的C-API中的一些公共職能有更明確的返回類型。
在HTML清理代碼
什麼版本2.3beta1是新的:
- 在錯誤修正:
- 動了對更換的XInclude節點屬性的文件之間的元素碰撞時,在新的libxml2版本。
- XMLID()函數缺少可選解析器和BASE_URL參數。
- 搜索通配符標籤iterparse()PY3中被打破。
- lxml.html.open_in_browser()沒有在Python 3由於使用os.tempnam的工作。現在有一個可選的'編碼'參數。
評論沒有發現