当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。