一图看懂 xml 模块:可扩展标记语言数据处理, 资料整理+笔记(大全)

本文由 大侠(AhcaoZhu)原创,转载请声明。
链接: https://blog.csdn.net/Ahcao2008

Alt

一图看懂 xml 模块:可扩展标记语言数据处理, 资料整理+笔记(大全)

摘要

全文介绍系统内置 xml 模块、函数、类及类的方法和属性。
它通过代码抓取并经AI智能翻译和人工校对。
是一部不可多得的权威字典类工具书。它是系列集的一部分。后续陆续发布、敬请关注。【原创:AhcaoZhu大侠】

模块关系图

xml-module

xml
	xml.dom
	xml.parsers
	xml.sax
	xml.etree
        xml.etree.ElementPath
        xml.etree.ElementTree
        xml.etree.cElementTree
        xml.etree.ElementInclude

类关系图

xml-class

◆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编码声明可接受的字符串(请参阅
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AhcaoZhu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值