當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python xml.parsers.expat.ParserCreate用法及代碼示例

用法:

xml.parsers.expat.ParserCreate(encoding=None, namespace_separator=None)

創建並返回一個新的 xmlparser 對象。 encoding (如果指定)必須是一個字符串,命名 XML 數據使用的編碼。 Expat 不像 Python 那樣支持那麽多的編碼,而且它的編碼庫不能擴展;它支持 UTF-8、UTF-16、ISO-8859-1 (Latin1) 和 ASCII。如果給定encoding 1,它將覆蓋文檔的隱式或顯式編碼。

Expat 可以選擇為您執行 XML 命名空間處理,通過為 namespace_separator 提供值來啟用。該值必須是one-character 字符串;如果字符串的長度非法(None 被認為與省略相同),則會引發 ValueError。啟用命名空間處理時,將擴展屬於命名空間的元素類型名稱和屬性名稱。傳遞給元素處理程序StartElementHandlerEndElementHandler 的元素名稱將是名稱空間URI、名稱空間分隔符和名稱的本地部分的串聯。如果命名空間分隔符是一個零字節 (chr(0)),那麽命名空間 URI 和本地部分將在沒有任何分隔符的情況下連接。

例如,如果 namespace_separator 設置為空格字符 (' ') 並解析以下文檔:

<?xml version="1.0"?>
<root xmlns    = "http://default-namespace.org/"
      xmlns:py = "http://www.python.org/ns/">
  <py:elem1 />
  <elem2 xmlns="" />
</root>

StartElementHandler 將為每個元素接收以下字符串:

http://default-namespace.org/ root
http://www.python.org/ns/ elem1
elem2

由於 pyexpat 使用的 Expat 庫的限製,返回的 xmlparser 實例隻能用於解析單個 XML 文檔。為每個文檔調用ParserCreate 以提供唯一的解析器實例。

相關用法


注:本文由純淨天空篩選整理自python.org大神的英文原創作品 xml.parsers.expat.ParserCreate。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。