1. XML Introdução
XML (eXtensible Markup Language) refere-se a uma linguagem de marcação extensível, projetada para transmitir e armazenar dados, e tornou-se o núcleo de muitas novas tecnologias atualmente, com diferentes aplicações em diferentes áreas. É um produto inevitável do desenvolvimento da web até certo ponto, que possui as características centrais do SGML, as características simples do HTML e muitos recursos novos, como clareza e bem estruturada.
teste. Arquivo XML
<?xml versão="1.0" codificação="utf-8"?> <catalog> <maxid>4</maxid> <login username="pytest" passwd='123456'> <caption>Python</caption> <item id="4"> <caption>teste</caption> </item> </login> <ide do item="2"> <caption>Zope</caption> </item> </catalog> Para uma introdução detalhada ao XML, consulte a:http://www.w3school.com.cn/xmldom/dom_nodetype.asp
2. XML análise sintática de documentos
Existem três métodos comuns para python analisar XML: um é o módulo xml.dom.*, que é uma implementação da API dom do W3C, muito adequada se você precisar processar a API do DOM; O segundo é o módulo xml.sax.*, que é uma implementação da API SAX, sacrificando conveniência em troca de velocidade e pegada de memória, e SAX é uma API baseada em eventos, o que significa que pode processar um enorme número de documentos "no ar" sem precisar carregá-los completamente na memória; O terceiro é o módulo xml.etree.ElementTree (ET, para abreviar), que fornece uma API leve no estilo Python, muito mais rápida que o DOM, e há muitas APIs agradáveis que podem ser usadas, em comparação com o SAX; o ET.iterparse do ET também oferece um método de processamento "no ar", não há necessidade de carregar o documento inteiro na memória, e o desempenho médio do ET é semelhante ao do SAX. No entanto, a API é um pouco mais eficiente e fácil de usar.
2.1 xml.dom.*
O Modelo de Objeto de Documento (DOM) é uma interface padrão de programação recomendada pela organização do W3C para lidar com linguagens de marcação extensíveis. Quando um parser DOM analisa um documento XML, ele lê o documento inteiro de uma vez, armazena todos os elementos do documento em uma estrutura em árvore na memória, e então você pode usar diferentes funções fornecidas pelo DOM para ler ou modificar o conteúdo e a estrutura do documento, ou escrever o conteúdo modificado no arquivo xml. Use xml.dom.minidom em Python para analisar o arquivo xml.
a. Obter subtags b. Rótulos que distinguem o mesmo nome de etiqueta c. Obtenha o valor do atributo da tag d. Obter dados entre pares de etiquetas
Saída:
2.2 xml.etree.ElementTree
O ElementTree nasceu para lidar com XML, e existem duas implementações na biblioteca padrão Python: uma é uma implementação puramente em Python, como xml.etree.ElementTree, e a outra é uma árvore xml.etree.cElementTree mais rápida. Nota: Tente usar a linguagem C para implementá-lo, pois é mais rápido e consome menos memória.
a. Atravessar a próxima camada do nó raiz b. Acesso por subscrito a tags, atributos e textos individuais c. Encontre a tag especificada sob a raiz d. Atravessando arquivos XML e. Modificar o arquivo XML
Saída:
Anexado:
2.3 xml.sax.*
SAX é uma API orientada a eventos que usa SAX para analisar XML em duas partes: o parser e o gerenciador de eventos.
O parser é responsável por ler o documento XML e enviar eventos para o gerenciador de eventos, como eventos de início e fim de elementos
O processador de eventos é responsável por responder aos eventos e processar os dados XML passados
Cenários comuns:
(1) Processar documentos grandes
(2) Apenas parte do documento é necessária, ou informações específicas são obtidas apenas a partir do arquivo
(3) Quero construir meu próprio modelo de objetos
|