本文由 大侠(AhcaoZhu)原创,转载请声明。
链接: https://blog.csdn.net/Ahcao2008
一图看懂 xml 模块:可扩展标记语言数据处理, 资料整理+笔记(大全)
- 摘要
- 模块关系图
- 类关系图
- 模块全展开
-
- 一、【xml】
- 统计
- 模块
- 二、【xml.dom】
- 统计
- 常量
- 模块
- 函数
- 类
-
- 23 xml.dom.Node
- 24 xml.dom.DOMException
- 25 xml.dom.IndexSizeErr
- 26 xml.dom.DomstringSizeErr
- 27 xml.dom.HierarchyRequestErr
- 28 xml.dom.WrongDocumentErr
- 29 xml.dom.InvalidCharacterErr
- 30 xml.dom.NoDataAllowedErr
- 31 xml.dom.NoModificationAllowedErr
- 32 xml.dom.NotFoundErr
- 33 xml.dom.NotSupportedErr
- 34 xml.dom.InuseAttributeErr
- 35 xml.dom.InvalidStateErr
- 36 xml.dom.SyntaxErr
- 37 xml.dom.InvalidModificationErr
- 38 xml.dom.NamespaceErr
- 39 xml.dom.InvalidAccessErr
- 40 xml.dom.ValidationErr
- 41 xml.dom.UserDataHandler
- 剩余
- 三、【xml.parsers】
- 统计
- 四、【xml.sax】
- 统计
- 常量
- 模块
- 函数
- 类
-
- 11 xml.sax.xmlreader.InputSource
- 12 xml.sax.handler.ContentHandler
- 13 xml.sax.handler.ErrorHandler
- 14 xml.sax._exceptions.SAXException
- 15 xml.sax._exceptions.SAXNotRecognizedException
- 16 xml.sax._exceptions.SAXParseException
- 17 xml.sax._exceptions.SAXNotSupportedException
- 18 xml.sax._exceptions.SAXReaderNotAvailable
- 私有或局部
- 五、【xml.etree】
- 统计
- 模块
- 五(1)【xml.etree.ElementPath】
- 统计
- 常量
- 模块
- 函数
-
- 4 xpath_tokenizer(pattern, namespaces=None)
- 5 get_parent_map(context)
- 6 prepare_child(next, token)
- 7 prepare_star(next, token)
- 8 prepare_self(next, token)
- 9 prepare_descendant(next, token)
- 10 prepare_parent(next, token)
- 11 prepare_predicate(next, token)
- 12 iterfind(elem, path, namespaces=None)
- 13 find(elem, path, namespaces=None)
- 14 findall(elem, path, namespaces=None)
- 15 findtext(elem, path, default=None, namespaces=None)
- 类
- 私有或局部
- 剩余
- 函数
-
- 13 iselement(element)
- 14 Comment(text=None)
- 15 ProcessingInstruction(target, text=None)
- 16 ProcessingInstruction(target, text=None)
- 17 _get_writer(file_or_filename, encoding)
- 18 _namespaces(elem, default_namespace=None)
- 19 _serialize_xml(write, elem, qnames, namespaces, short_empty_elements, **kwargs)
- 20 _serialize_html(write, elem, qnames, namespaces, **kwargs)
- 21 _serialize_text(write, elem)
- 22 register_namespace(prefix, uri)
- 23 _raise_serialization_error(text)
- 24 _escape_cdata(text)
- 25 _escape_attrib(text)
- 26 _escape_attrib_html(text)
- 27 tostring(element, encoding=None, method=None, *, short_empty_elements=True)
- 28 tostringlist(element, encoding=None, method=None, *, short_empty_elements=True)
- 29 dump(elem)
- 30 parse(source, parser=None)
- 31 iterparse(source, events=None, parser=None)
- 32 XML(text, parser=None)
- 33 XMLID(text, parser=None)
- 34 XML(text, parser=None)
- 35 fromstringlist(sequence, parser=None)
- 类
-
- 36 xml.etree.ElementTree.ParseError
- 37 xml.etree.ElementTree.Element
- 38 xml.etree.ElementTree.QName
- 39 xml.etree.ElementTree.ElementTree
- 40 xml.etree.ElementTree._ListDataStream
- 41 xml.etree.ElementTree.XMLPullParser
- 42 xml.etree.ElementTree.TreeBuilder
- 43 xml.etree.ElementTree.XMLParser
- 44 xml.etree.ElementTree.Element
- 内嵌函数或方法
- 私有或局部
- 五(2)【xml.etree.cElementTree】
- 统计
- 常量
- 函数
-
- 2 Comment(text=None)
- 3 dump(elem)
- 4 XML(text, parser=None)
- 5 fromstringlist(sequence, parser=None)
- 6 iselement(element)
- 7 iterparse(source, events=None, parser=None)
- 8 parse(source, parser=None)
- 9 ProcessingInstruction(target, text=None)
- 10 ProcessingInstruction(target, text=None)
- 11 tostring(element, encoding=None, method=None, *, short_empty_elements=True)
- 12 tostringlist(element, encoding=None, method=None, *, short_empty_elements=True)
- 13 XML(text, parser=None)
- 14 XMLID(text, parser=None)
- 15 register_namespace(prefix, uri)
- 类
- 内嵌函数或方法
- 五(3)【xml.etree.ElementInclude】
- 统计
- 常量
- 模块
- 函数
- 类
摘要
全文介绍系统内置 xml 模块、函数、类及类的方法和属性。
它通过代码抓取并经AI智能翻译和人工校对。
是一部不可多得的权威字典类工具书。它是系列集的一部分。后续陆续发布、敬请关注。【原创:AhcaoZhu大侠】
模块关系图
xml
xml.dom
xml.parsers
xml.sax
xml.etree
xml.etree.ElementPath
xml.etree.ElementTree
xml.etree.cElementTree
xml.etree.ElementInclude
类关系图
◆object
◆BaseException
◆Exception
◆xml.dom.DOMException
◆xml.dom.DomstringSizeErr
◆xml.dom.HierarchyRequestErr
◆xml.dom.IndexSizeErr
◆xml.dom.InuseAttributeErr
◆xml.dom.InvalidAccessErr
◆xml.dom.InvalidCharacterErr
◆xml.dom.InvalidModificationErr
◆xml.dom.InvalidStateErr
◆xml.dom.NamespaceErr
◆xml.dom.NoDataAllowedErr
◆xml.dom.NoModificationAllowedErr
◆xml.dom.NotFoundErr
◆xml.dom.NotSupportedErr
◆xml.dom.SyntaxErr
◆xml.dom.ValidationErr
◆xml.dom.WrongDocumentErr
◆xml.sax._exceptions.SAXException
◆xml.sax._exceptions.SAXNotRecognizedException
◆xml.sax._exceptions.SAXNotSupportedException
◆xml.sax._exceptions.SAXReaderNotAvailable
◆xml.sax._exceptions.SAXParseException
◆SyntaxError
◆xml.etree.ElementInclude.FatalIncludeError
◆xml.etree.ElementTree.ParseError
◆_io._IOBase
◆io.IOBase
◆_io._BufferedIOBase
◆io.BufferedIOBase
◆xml.etree.ElementTree._ListDataStream
◆xml.dom.Node
◆xml.dom.UserDataHandler
◆xml.sax.handler.ContentHandler
◆xml.sax.handler.ErrorHandler
◆xml.sax.xmlreader.InputSource
◆xml.etree.ElementPath._SelectorContext
◆xml.etree.ElementTree.Element
◆xml.etree.ElementTree.ElementTree
◆xml.etree.ElementTree.QName
◆xml.etree.ElementTree.TreeBuilder
◆xml.etree.ElementTree.XMLParser
◆xml.etree.ElementTree.XMLPullParser
模块全展开
一、【xml】
xml, fullname=xml, file=xml_init_.py
Python的核心XML支持。
这个包包含四个子包:
dom——W3C文档对象模型。它支持DOM级别1 +名称空间。
parsers——用于XML解析器的Python包装器(目前只支持Expat)。
sax - XML的简单API,由XML- dev开发,由David Megginson领导,并由Lars Marius Garshol移植到Python。它支持SAX 2 API。
etree -元素树XML库。这是完整的ElementTree XML发行版的一个子集。
统计
序号 | 类别 | 数量 |
---|---|---|
4 | str | 5 |
6 | list | 2 |
8 | dict | 1 |
9 | module | 4 |
13 | residual | 2 |
14 | system | 10 |
16 | all | 14 |
模块
1 xml.dom
dom, fullname=xml.dom, file=xml\dom_init_.py
Python的W3C文档对象模型实现。
文档对象模型的Python映射在Python库参考中xml.dom包的部分有详细的说明。
这个包包含以下模块:
minidom—添加了名称空间支持的1级DOM的简单实现(基于2级规范)和其他次要的2级功能。
pulldom—DOM构建器,支持按需为文档的选定子树构建树。
2 xml.parsers
parsers, fullname=xml.parsers, file=xml\parsers_init_.py
Python接口到XML解析器。
这个包包含一个模块:
expat -用于James Clark的expat解析器的Python包装器,支持命名空间。
3 xml.sax
sax, fullname=xml.sax, file=xml\sax_init_.py
Python的XML (SAX)实现的简单API。
该模块提供了SAX 2接口的实现;关于该接口的Java版本的信息可以在[链接](http://www.megginson.com/SAX/)上找到。
该接口的Python版本在<...>中有文档。
handler -为SAX for Python的“客户端”定义SAX 2 API的基类和常量。
saxutils——通常用于处理SAX的方便类的实现。
xmlreader——定义与SAX for Python一起使用的解析器的SAX 2 API的基类和常量。
expatreader—允许在SAX中使用Expat解析器的驱动程序。
4 xml.etree
etree, fullname=xml.etree, file=xml\etree_init_.py
二、【xml.dom】
dom, fullname=xml.dom, file=xml\dom_init_.py
Python的W3C文档对象模型实现。
文档对象模型的Python映射在Python库参考中xml.dom包部分有详细的说明。
这个包包含以下模块:
minidom—添加了名称空间支持的1级DOM的简单实现(基于2级规范)和其他次要的2级功能。
pulldom—DOM构建器,支持按需为文档的选定子树构建树。
统计
序号 | 类别 | 数量 |
---|---|---|
1 | int | 16 |
4 | str | 8 |
6 | list | 1 |
8 | dict | 1 |
9 | module | 1 |
10 | class | 19 |
11 | function | 2 |
13 | residual | 4 |
14 | system | 9 |
16 | all | 52 |
常量
int
1 INDEX_SIZE_ERR 1
2 DOMSTRING_SIZE_ERR 2
3 HIERARCHY_REQUEST_ERR 3
4 WRONG_DOCUMENT_ERR 4
5 INVALID_CHARACTER_ERR 5
6 NO_DATA_ALLOWED_ERR 6
7 NO_MODIFICATION_ALLOWED_ERR 7
8 NOT_FOUND_ERR 8
9 NOT_SUPPORTED_ERR 9
10 INUSE_ATTRIBUTE_ERR 10
11 INVALID_STATE_ERR 11
12 SYNTAX_ERR 12
13 INVALID_MODIFICATION_ERR 13
14 NAMESPACE_ERR 14
15 INVALID_ACCESS_ERR 15
16 VALIDATION_ERR 16
str
17 XML_NAMESPACE
18 XMLNS_NAMESPACE
19 XHTML_NAMESPACE
模块
20 xml.dom.domreg
domreg, fullname=xml.dom.domreg, file=xml\dom\domreg.py
DOM的注册工具。
不应直接使用此模块。而是应从xml.dom中导入函数 getDOMImplementation 和 registerDOMImplementation 。
函数
21 getDOMImplementation(name=None, features=())
getDOMImplementation(name=None, features=()), module=xml.dom.domreg, line:39 at xml\dom\domreg.py
getDOMImplementation(name = None, features = ()) -> DOM实现。
返回一个合适的DOM实现。名称或者是众所周知的DOM实现的模块名,或者是None。
如果不是None,则导入相应的模块,如果导入成功则返回DOMImplementation对象。
如果没有给出名称,请考虑可用的实现,以找到具有所需特性集的实现。
如果找不到实现,则引发ImportError。特性列表必须是传递给 hasFeature 的(feature, version)对序列。
22 registerDOMImplementation(name, factory)
registerDOMImplementation(name, factory), module=xml.dom.domreg, line:21 at xml\dom\domreg.py
用名称注册工厂函数。
工厂函数应该返回一个实现DOMImplementation接口的对象。
工厂函数可以返回相同的对象,也可以返回一个新的对象(例如,如果该实现支持一些自定义)。
类
23 xml.dom.Node
Node, xml.dom.Node, module=xml.dom>
类提供NodeType常量。
data
1 ATTRIBUTE_NODE=2 kind:data type:int class:<class ‘xml.dom.Node’>
2 CDATA_SECTION_NODE=4 kind:data type:int class:<class ‘xml.dom.Node’>
3 COMMENT_NODE=8 kind:data type:int class:<class ‘xml.dom.Node’>
4 DOCUMENT_FRAGMENT_NODE=11 kind:data type:int class:<class ‘xml.dom.Node’>
5 DOCUMENT_NODE=9 kind:data type:int class:<class ‘xml.dom.Node’>
6 DOCUMENT_TYPE_NODE=10 kind:data type:int class:<class ‘xml.dom.Node’>
7 ELEMENT_NODE=1 kind:data type:int class:<class ‘xml.dom.Node’>
8 ENTITY_NODE=6 kind:data type:int class:<class ‘xml.dom.Node’>
9 ENTITY_REFERENCE_NODE=5 kind:data type:int class:<class ‘xml.dom.Node’>
10 NOTATION_NODE=12 kind:data type:int class:<class ‘xml.dom.Node’>
11 PROCESSING_INSTRUCTION_NODE=7 kind:data type:int class:<class ‘xml.dom.Node’>
12 TEXT_NODE=3 kind:data type:int class:<class ‘xml.dom.Node’>
24 xml.dom.DOMException
DOMException, xml.dom.DOMException, module=xml.dom>
DOM异常的抽象基类。具有特定代码的异常是该类的专门化。
25 xml.dom.IndexSizeErr
IndexSizeErr, xml.dom.IndexSizeErr, module=xml.dom>
data
1 code=1 kind:data type:int class:<class ‘xml.dom.IndexSizeErr’>
26 xml.dom.DomstringSizeErr
DomstringSizeErr, xml.dom.DomstringSizeErr, module=xml.dom>
data
1 code=2 kind:data type:int class:<class ‘xml.dom.DomstringSizeErr’>
27 xml.dom.HierarchyRequestErr
HierarchyRequestErr, xml.dom.HierarchyRequestErr, module=xml.dom>
data
1 code=3 kind:data type:int class:<class ‘xml.dom.HierarchyRequestErr’>
28 xml.dom.WrongDocumentErr
WrongDocumentErr, xml.dom.WrongDocumentErr, module=xml.dom>
data
1 code=4 kind:data type:int class:<class ‘xml.dom.WrongDocumentErr’>
29 xml.dom.InvalidCharacterErr
InvalidCharacterErr, xml.dom.InvalidCharacterErr, module=xml.dom>
data
1 code=5 kind:data type:int class:<class ‘xml.dom.InvalidCharacterErr’>
30 xml.dom.NoDataAllowedErr
NoDataAllowedErr, xml.dom.NoDataAllowedErr, module=xml.dom>
data
1 code=6 kind:data type:int class:<class ‘xml.dom.NoDataAllowedErr’>
31 xml.dom.NoModificationAllowedErr
NoModificationAllowedErr, xml.dom.NoModificationAllowedErr, module=xml.dom>
data
1 code=7 kind:data type:int class:<class ‘xml.dom.NoModificationAllowedErr’>
32 xml.dom.NotFoundErr
NotFoundErr, xml.dom.NotFoundErr, module=xml.dom>
data
1 code=8 kind:data type:int class:<class ‘xml.dom.NotFoundErr’>
33 xml.dom.NotSupportedErr
NotSupportedErr, xml.dom.NotSupportedErr, module=xml.dom>
data
1 code=9 kind:data type:int class:<class ‘xml.dom.NotSupportedErr’>
34 xml.dom.InuseAttributeErr
InuseAttributeErr, xml.dom.InuseAttributeErr, module=xml.dom>
data
1 code=10 kind:data type:int class:<class ‘xml.dom.InuseAttributeErr’>
35 xml.dom.InvalidStateErr
InvalidStateErr, xml.dom.InvalidStateErr, module=xml.dom>
data
1 code=11 kind:data type:int class:<class ‘xml.dom.InvalidStateErr’>
36 xml.dom.SyntaxErr
SyntaxErr, xml.dom.SyntaxErr, module=xml.dom>
data
1 code=12 kind:data type:int class:<class ‘xml.dom.SyntaxErr’>
37 xml.dom.InvalidModificationErr
InvalidModificationErr, xml.dom.InvalidModificationErr, module=xml.dom>
data
1 code=13 kind:data type:int class:<class ‘xml.dom.InvalidModificationErr’>
38 xml.dom.NamespaceErr
NamespaceErr, xml.dom.NamespaceErr, module=xml.dom>
data
1 code=14 kind:data type:int class:<class ‘xml.dom.NamespaceErr’>
39 xml.dom.InvalidAccessErr
InvalidAccessErr, xml.dom.InvalidAccessErr, module=xml.dom>
data
1 code=15 kind:data type:int class:<class ‘xml.dom.InvalidAccessErr’>
40 xml.dom.ValidationErr
ValidationErr, xml.dom.ValidationErr, module=xml.dom>
data
1 code=16 kind:data type:int class:<class ‘xml.dom.ValidationErr’>
41 xml.dom.UserDataHandler
UserDataHandler, xml.dom.UserDataHandler, module=xml.dom>
为UserDataHandler.handle()提供操作常量的类。
data
1 NODE_CLONED=1 kind:data type:int class:<class ‘xml.dom.UserDataHandler’>
2 NODE_DELETED=3 kind:data type:int class:<class ‘xml.dom.UserDataHandler’>
3 NODE_IMPORTED=2 kind:data type:int class:<class ‘xml.dom.UserDataHandler’>
4 NODE_RENAMED=4 kind:data type:int class:<class ‘xml.dom.UserDataHandler’>
剩余
42 loader <_frozen_importlib_external.SourceFileLoader object at 0x000000000390A488>
43 spec ModuleSpec(name=‘xml.dom’, loader=<_frozen_importlib_external.SourceFileLoader object at 0x000000000390A488>, origin=‘…\lib\xml\dom\init.py’, submodule_search_locations=[‘…\lib\xml\dom’])
44 EMPTY_NAMESPACE None
45 EMPTY_PREFIX None
三、【xml.parsers】
parsers, fullname=xml.parsers, file=xml\parsers_init_.py
Python接口到XML解析器。
这个包包含一个模块:
expat -用于James Clark的expat解析器的Python包装器,支持命名空间。
统计
序号 | 类别 | 数量 |
---|---|---|
4 | str | 5 |
6 | list | 1 |
8 | dict | 1 |
13 | residual | 2 |
14 | system | 9 |
16 | all | 9 |
四、【xml.sax】
sax, fullname=xml.sax, file=xml\sax_init_.py
Python的XML (SAX)实现的简单API。
该模块提供了SAX 2接口的实现;关于该接口的Java版本的信息可以在[链接](http://www.megginson.com/SAX/)上找到。
该接口的Python版本在<…>中有文档。
handler -为SAX for Python的“客户端”定义SAX 2 API的基类和常量。
saxutils——通常用于处理SAX的方便类的实现。
xmlreader——定义与SAX for Python一起使用的解析器的SAX 2 API的基类和常量。
expatreader—允许在SAX中使用Expat解析器的驱动程序。
统计
序号 | 类别 | 数量 |
---|---|---|
1 | int | 1 |
4 | str | 6 |
6 | list | 2 |
8 | dict | 1 |
9 | module | 3 |
10 | class | 8 |
11 | function | 4 |
13 | residual | 2 |
14 | system | 9 |
15 | private | 4 |
16 | all | 27 |
常量
int
1 _false 0
str
2 _key python.xml.sax.parser
list
3 default_parser_list [‘xml.sax.expatreader’]
模块
4 xml.sax.handler
handler, fullname=xml.sax.handler, file=xml\sax\handler.py
此模块包含SAX for Python 2.0版本的核心类。
这个文件只提供了具有绝对最小功能的默认类,驱动程序和应用程序可以从这些类中子类化。
其中许多类是空的,仅作为接口的文档包含。
5 xml.sax._exceptions
_exceptions, fullname=xml.sax._exceptions, file=xml\sax_exceptions.py
不同类型的SAX异常
6 xml.sax.xmlreader
xmlreader, fullname=xml.sax.xmlreader, file=xml\sax\xmlreader.py
XML Reader是XML解析器的SAX 2名称。XML解析器应该基于此代码。
函数
7 parse(source, handler, errorHandler=<xml.sax.handler.ErrorHandler object at 0x000000000393D088>)
parse(source, handler, errorHandler=<xml.sax.handler.ErrorHandler object at 0x000000000393D088>), module=xml.sax, line:29 at xml\sax_init_.py
8 parseString(string, handler, errorHandler=<xml.sax.handler.ErrorHandler object at 0x000000000392D2C8>)
parseString(string, handler, errorHandler=<xml.sax.handler.ErrorHandler object at 0x000000000392D2C8>), module=xml.sax, line:35 at xml\sax_init_.py
9 make_parser(parser_list=[])
make_parser(parser_list=[]), module=xml.sax, line:70 at xml\sax_init_.py
创建并返回SAX解析器。
创建第一个解析器,它能够实例化通过做解析器列表+默认解析器列表创建的列表中给出的解析器。
列表必须包含包含SAX解析器和创建解析器函数的Python模块的名称。
10 _create_parser(parser_name)
create_parser(parser_name), module=xml.sax, line:103 at xml\sax_init.py
类
11 xml.sax.xmlreader.InputSource
InputSource, xml.sax.xmlreader.InputSource, module=xml.sax.xmlreader>
XMLReader读取实体所需的信息的封装。
该类可以包括关于公共标识符、系统标识符、字节流(可能带有字符编码信息)和/或实体的字符流的信息。
应用程序将创建该类的对象,以便在XMLReader中使用。
方法和用于从EntityResolver.resolveEntity返回。
InputSource属于应用程序,XMLReader不允许修改从应用程序传递给它的InputSource对象,尽管它可以复制并修改这些对象。
method
1 getByteStream()
kind=method class=InputSource objtype=function
获取此输入源的字节流。
getEncoding方法将返回此字节流的字符编码,如果未知则返回None。
2 getCharacterStream()
kind=method class=InputSource objtype=function
获取此输入源的字符流。
3 getEncoding()
kind=method class=InputSource objtype=function
获取这个InputSource的字符编码。
4 getPublicId()
kind=method class=InputSource objtype=function
返回此InputSource的公共标识符。
5 getSystemId()
kind=method class=InputSource objtype=function
返回此InputSource的系统标识符。
6 setByteStream()
kind=method class=InputSource objtype=function
设置此输入源的字节流(不执行字节到字符转换的Python类文件对象)。
如果还指定了字符流,SAX解析器将忽略它,但它将优先使用字节流,而不是打开URI连接本身。
如果应用程序知道字节流的字符编码,它应该使用setEncoding方法进行设置。
7 setCharacterStream()
kind=method class=InputSource objtype=function
设置此输入源的字符流。(流必须是Python 2.0 Unicode包装的类文件,执行到Unicode字符串的转换。)
如果指定了字符流,SAX解析器将忽略任何字节流,并且不会尝试打开到系统标识符的URI连接。
8 setEncoding()
kind=method class=InputSource objtype=function
设置此InputSource的字符编码。
编码必须是XML编码声明可接受的字符串(请参阅