结构化标记处理工具¶
Python 支持各种模块,以处理各种形式的结构化数据标记。 这包括使用标准通用标记语言(SGML)和超文本标记语言(HTML)的模块,以及使用可扩展标记语言(XML)的几个接口。
html
--- 超文本标记语言支持html.parser
--- 简单的 HTML 和 XHTML 解析器HTMLParser
- HTML 解析器的示例程序
HTMLParser
方法HTMLParser.feed()
HTMLParser.close()
HTMLParser.reset()
HTMLParser.getpos()
HTMLParser.get_starttag_text()
HTMLParser.handle_starttag()
HTMLParser.handle_endtag()
HTMLParser.handle_startendtag()
HTMLParser.handle_data()
HTMLParser.handle_entityref()
HTMLParser.handle_charref()
HTMLParser.handle_comment()
HTMLParser.handle_decl()
HTMLParser.handle_pi()
HTMLParser.unknown_decl()
- 例子
html.entities
--- HTML 一般实体的定义- XML处理模块
xml.etree.ElementTree
--- ElementTree XML API- 教程
- XPath支持
- 参考
- XInclude 支持
- 参考
- 函数
- 元素对象
Element
Element.tag
Element.text
Element.tail
Element.attrib
Element.clear()
Element.get()
Element.items()
Element.keys()
Element.set()
Element.append()
Element.extend()
Element.find()
Element.findall()
Element.findtext()
Element.insert()
Element.iter()
Element.iterfind()
Element.itertext()
Element.makeelement()
Element.remove()
- ElementTree 对象
- QName 对象
- TreeBuilder 对象
- XMLParser对象
- XMLPullParser对象
- 异常
xml.dom
--- 文档对象模型 API- 模块内容
- DOM 中的对象
- DOMImplementation 对象
- 节点对象
Node.nodeType
Node.parentNode
Node.attributes
Node.previousSibling
Node.nextSibling
Node.childNodes
Node.firstChild
Node.lastChild
Node.localName
Node.prefix
Node.namespaceURI
Node.nodeName
Node.nodeValue
Node.hasAttributes()
Node.hasChildNodes()
Node.isSameNode()
Node.appendChild()
Node.insertBefore()
Node.removeChild()
Node.replaceChild()
Node.normalize()
Node.cloneNode()
- 节点列表对象
- 文档类型对象
- Document 对象
- 元素对象
Element.tagName
Element.getElementsByTagName()
Element.getElementsByTagNameNS()
Element.hasAttribute()
Element.hasAttributeNS()
Element.getAttribute()
Element.getAttributeNode()
Element.getAttributeNS()
Element.getAttributeNodeNS()
Element.removeAttribute()
Element.removeAttributeNode()
Element.removeAttributeNS()
Element.setAttribute()
Element.setAttributeNode()
Element.setAttributeNodeNS()
Element.setAttributeNS()
- Attr 对象
- NamedNodeMap 对象
- 注释对象
- Text 和 CDATASection 对象
- ProcessingInstruction 对象
- 异常
- 一致性
xml.dom.minidom
--- 最小化的 DOM 实现xml.dom.pulldom
--- 支持构建部分 DOM 树xml.sax
--- 支持 SAX2 解析器xml.sax.handler
--- SAX 处理句柄的基类ContentHandler
DTDHandler
EntityResolver
ErrorHandler
LexicalHandler
feature_namespaces
feature_namespace_prefixes
feature_string_interning
feature_validation
feature_external_ges
feature_external_pes
all_features
property_lexical_handler
property_declaration_handler
property_dom_node
property_xml_string
all_properties
- ContentHandler 对象
ContentHandler.setDocumentLocator()
ContentHandler.startDocument()
ContentHandler.endDocument()
ContentHandler.startPrefixMapping()
ContentHandler.endPrefixMapping()
ContentHandler.startElement()
ContentHandler.endElement()
ContentHandler.startElementNS()
ContentHandler.endElementNS()
ContentHandler.characters()
ContentHandler.ignorableWhitespace()
ContentHandler.processingInstruction()
ContentHandler.skippedEntity()
- DTDHandler 对象
- EntityResolver 对象
- ErrorHandler 对象
- LexicalHandler 对象
xml.sax.saxutils
--- SAX 工具集xml.sax.xmlreader
--- 用于 XML 解析器的接口XMLReader
IncrementalParser
Locator
InputSource
AttributesImpl
AttributesNSImpl
- XMLReader 对象
XMLReader.parse()
XMLReader.getContentHandler()
XMLReader.setContentHandler()
XMLReader.getDTDHandler()
XMLReader.setDTDHandler()
XMLReader.getEntityResolver()
XMLReader.setEntityResolver()
XMLReader.getErrorHandler()
XMLReader.setErrorHandler()
XMLReader.setLocale()
XMLReader.getFeature()
XMLReader.setFeature()
XMLReader.getProperty()
XMLReader.setProperty()
- IncrementalParser 对象
- Locator 对象
- InputSource 对象
Attributes
接口AttributesNS
接口
xml.parsers.expat
--- 使用 Expat 的快速 XML 解析ExpatError
error
XMLParserType
ErrorString()
ParserCreate()
- XMLParser对象
xmlparser.Parse()
xmlparser.ParseFile()
xmlparser.SetBase()
xmlparser.GetBase()
xmlparser.GetInputContext()
xmlparser.ExternalEntityParserCreate()
xmlparser.SetParamEntityParsing()
xmlparser.UseForeignDTD()
xmlparser.buffer_size
xmlparser.buffer_text
xmlparser.buffer_used
xmlparser.ordered_attributes
xmlparser.specified_attributes
xmlparser.ErrorByteIndex
xmlparser.ErrorCode
xmlparser.ErrorColumnNumber
xmlparser.ErrorLineNumber
xmlparser.CurrentByteIndex
xmlparser.CurrentColumnNumber
xmlparser.CurrentLineNumber
xmlparser.XmlDeclHandler()
xmlparser.StartDoctypeDeclHandler()
xmlparser.EndDoctypeDeclHandler()
xmlparser.ElementDeclHandler()
xmlparser.AttlistDeclHandler()
xmlparser.StartElementHandler()
xmlparser.EndElementHandler()
xmlparser.ProcessingInstructionHandler()
xmlparser.CharacterDataHandler()
xmlparser.UnparsedEntityDeclHandler()
xmlparser.EntityDeclHandler()
xmlparser.NotationDeclHandler()
xmlparser.StartNamespaceDeclHandler()
xmlparser.EndNamespaceDeclHandler()
xmlparser.CommentHandler()
xmlparser.StartCdataSectionHandler()
xmlparser.EndCdataSectionHandler()
xmlparser.DefaultHandler()
xmlparser.DefaultHandlerExpand()
xmlparser.NotStandaloneHandler()
xmlparser.ExternalEntityRefHandler()
- ExpatError 异常
- 示例
- 内容模型描述
- Expat 错误常量
codes
messages
XML_ERROR_ASYNC_ENTITY
XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF
XML_ERROR_BAD_CHAR_REF
XML_ERROR_BINARY_ENTITY_REF
XML_ERROR_DUPLICATE_ATTRIBUTE
XML_ERROR_INCORRECT_ENCODING
XML_ERROR_INVALID_TOKEN
XML_ERROR_JUNK_AFTER_DOC_ELEMENT
XML_ERROR_MISPLACED_XML_PI
XML_ERROR_NO_ELEMENTS
XML_ERROR_NO_MEMORY
XML_ERROR_PARAM_ENTITY_REF
XML_ERROR_PARTIAL_CHAR
XML_ERROR_RECURSIVE_ENTITY_REF
XML_ERROR_SYNTAX
XML_ERROR_TAG_MISMATCH
XML_ERROR_UNCLOSED_TOKEN
XML_ERROR_UNDEFINED_ENTITY
XML_ERROR_UNKNOWN_ENCODING
XML_ERROR_UNCLOSED_CDATA_SECTION
XML_ERROR_EXTERNAL_ENTITY_HANDLING
XML_ERROR_NOT_STANDALONE
XML_ERROR_UNEXPECTED_STATE
XML_ERROR_ENTITY_DECLARED_IN_PE
XML_ERROR_FEATURE_REQUIRES_XML_DTD
XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING
XML_ERROR_UNBOUND_PREFIX
XML_ERROR_UNDECLARING_PREFIX
XML_ERROR_INCOMPLETE_PE
XML_ERROR_XML_DECL
XML_ERROR_TEXT_DECL
XML_ERROR_PUBLICID
XML_ERROR_SUSPENDED
XML_ERROR_NOT_SUSPENDED
XML_ERROR_ABORTED
XML_ERROR_FINISHED
XML_ERROR_SUSPEND_PE
XML_ERROR_RESERVED_PREFIX_XML
XML_ERROR_RESERVED_PREFIX_XMLNS
XML_ERROR_RESERVED_NAMESPACE_URI
XML_ERROR_INVALID_ARGUMENT
XML_ERROR_NO_BUFFER
XML_ERROR_AMPLIFICATION_LIMIT_BREACH