用法:
class xml.etree.ElementTree.XMLParser(*, target=None, encoding=None)
此类是模块的低级构建块。它使用
xml.parsers.expat
进行高效的、基于事件的 XML 解析。它可以使用feed()
方法以增量方式提供XML 数据,并且解析事件被转换为推送API - 通过在target
对象上调用回调。如果省略target
,则使用标准TreeBuilder
。如果给定encoding
1,则该值将覆盖 XML 文件中指定的编码。在 3.8 版中更改:参数现在仅关键字.这
html
论点不再支持。XMLParser.feed()
为每个开始标签调用target
的start(tag, attrs_dict)
方法,为每个结束标签调用其end(tag)
方法,数据由方法data(data)
处理。有关进一步支持的回调方法,请参阅TreeBuilder
类。XMLParser.close()
调用target
的方法close()
。XMLParser
不仅可以用于构建树结构。这是一个计算 XML 文件最大深度的示例:>>> from xml.etree.ElementTree import XMLParser >>> class MaxDepth: # The target object of the parser ... maxDepth = 0 ... depth = 0 ... def start(self, tag, attrib): # Called for each opening tag. ... self.depth += 1 ... if self.depth > self.maxDepth: ... self.maxDepth = self.depth ... def end(self, tag): # Called for each closing tag. ... self.depth -= 1 ... def data(self, data): ... pass # We do not need to do anything with data. ... def close(self): # Called when all data has been parsed. ... return self.maxDepth ... >>> target = MaxDepth() >>> parser = XMLParser(target=target) >>> exampleXml = """ ... <a> ... <b> ... </b> ... <b> ... <c> ... <d> ... </d> ... </c> ... </b> ... </a>""" >>> parser.feed(exampleXml) >>> parser.close() 4
相关用法
- Python xml.etree.ElementTree.Element用法及代码示例
- Python xml.etree.ElementTree.canonicalize用法及代码示例
- Python xml.parsers.expat.ExpatError.code用法及代码示例
- Python xml.parsers.expat.ParserCreate用法及代码示例
- Python xml.dom.pulldom.DOMEventStream.expandNode用法及代码示例
- Python xdrlib.Packer.pack_list用法及代码示例
- Python cudf.core.column.string.StringMethods.is_vowel用法及代码示例
- Python torch.distributed.rpc.rpc_async用法及代码示例
- Python torch.nn.InstanceNorm3d用法及代码示例
- Python sklearn.cluster.MiniBatchKMeans用法及代码示例
- Python pandas.arrays.IntervalArray.is_empty用法及代码示例
- Python tf.compat.v1.distributions.Multinomial.stddev用法及代码示例
- Python numpy.less()用法及代码示例
- Python tf.compat.v1.distribute.MirroredStrategy.experimental_distribute_dataset用法及代码示例
- Python Sympy Permutation.list()用法及代码示例
- Python dask.dataframe.Series.apply用法及代码示例
- Python networkx.algorithms.shortest_paths.weighted.all_pairs_dijkstra_path用法及代码示例
- Python scipy.ndimage.binary_opening用法及代码示例
- Python pyspark.pandas.Series.dropna用法及代码示例
- Python torchaudio.transforms.Fade用法及代码示例
注:本文由纯净天空筛选整理自python.org大神的英文原创作品 xml.etree.ElementTree.XMLParser。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。