Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 13625|Resposta: 0

[Fonte] Python implementa análise de arquivos XML

[Copiar link]
Publicado em 05/06/2018 14:27:09 | | |
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





Anterior:Solução: O instalador usado para instalar o Visual Studio está incompleto
Próximo:Atalhos de formatação rápida do código VS Code
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com