Python XML Parsing

Python XML Parsing
Neste artigo, discutiremos como analisar XML na linguagem de programação Python. Vamos passar por vários exemplos para entender o mecanismo de análise XML em Python.

O que é xml?

XML significa linguagem de marcação extensível. XML é muito semelhante ao HTML. O XML é usado para armazenar e transferir dados, onde o HTML é usado apenas para exibir os dados no navegador. O XML permite ao usuário armazenar e transferir dados de uma maneira organizada.

Amostra de arquivo XML

O usuário pode definir suas próprias tags no arquivo XML. No exemplo a seguir, estamos usando uma tag definida pelo usuário, como - . Para cada etiqueta, também precisaremos ter uma etiqueta de fechamento - . O usuário pode definir tantas tags definidas pelo usuário quanto precisam. Aqui está um exemplo de arquivo XML:











Analisando bibliotecas em Python

Existem bibliotecas para analisar dados XML na maioria das modernas linguagens de programação de alto nível. Existem algumas bibliotecas para analisar arquivos XML no Python:

  1. Minidom
  2. ElementTree

No entanto, neste artigo, focaremos na Biblioteca Minidom para analisar dados XML. Minidom é a implementação mínima da interface do modelo de objeto de documento. É muito leve e mais simples que o dom completo.

Exemplo 1
Neste exemplo, primeiro importamos o “xml.dom.Módulo Minidom ”. O arquivo XML a ser analisado aqui é - amostra.Xml. O arquivo XML armazena algumas informações básicas sobre os alunos - nome do aluno e o nome da seção da aula. A função Parse está sendo usada no XML Minidom para carregar e analisar o arquivo XML. A variável mydoc obtém o resultado da função de análise. Em seguida, a função de impressão é usada para exibir o nome do nó e o nome da tag do primeiro filho.

importar xml.dom.Minidom
def main ():
# Carregar e analisar o arquivo XML
mydoc = xml.dom.Minidom.analisar ("amostra.xml ")
# imprime o nome do noden e o nome da tag do primeiro.
Imprimir (MyDoc.nodename)
Imprimir (MyDoc.primeiro filho.tagname)
Se __name__ == "__main__":
principal()

Exemplo 2
Neste exemplo, veremos como obter a lista das tags XML e imprimi -las. Estamos declarando a variável - "Stud". Esta variável detém todos os alunos de estudantes Data. O loop for obtém todos os dados com o nome da tag "nome".

importar xml.dom.Minidom
def main ():
# Carregar e analisar o arquivo XML
mydoc = xml.dom.Minidom.analisar ("amostra.xml ")
# imprime o nome do noden e o nome da tag do primeiro.
Imprimir (MyDoc.nodename)
Imprimir (MyDoc.primeiro filho.tagname)
# Obtenha as tags XML
Stud = mydoc.getElementsByTagName ("aluno")
Imprimir ("Não dos alunos: % D" % Stud.comprimento)
Para nome no Stud:
Imprimir (nome.getAttribute ("nome"))
Se __name__ == "__main__":
principal()

Exemplo 3
Este é outro exemplo de análise XML usando a Biblioteca Minidom. Neste exemplo, também veremos como criar um novo elemento XML. Em primeiro lugar, carregaremos e analisaremos o arquivo XML fornecido, eu.e., a amostra.arquivo xml ”. O novo elemento XML pode ser criado usando a função function - createElement (). Depois que o elemento é criado, podemos anexá -lo aos elementos XML existentes usando a função AppendChild ().

importar xml.dom.Minidom
def main ():
# Carregar e analisar o arquivo XML
mydoc = xml.dom.Minidom.analisar ("amostra.xml ");
# nó de documento de impressão e nome da primeira tag da criança
Imprimir (MyDoc.nodename)
Imprimir (MyDoc.primeiro filho.tagname)
# Obtenha a lista das tags XML
StudName = MyDoc.getElementsByTagName ("aluno")
print (" % d studname:" % studname.comprimento)
Para Snome in Studname:
Imprima (SNITE.getAttribute ("nome"))
# Adicione novas tags XML
newstudname = mydoc.CreateElement ("aluno")
newstudname.SetAttribute ("Nome", "Paul")
mydoc.primeiro filho.AppendChild (NewStudname)
imprimir (" ")
# Imprima todas as tags XML
StudName = MyDoc.getElementsByTagName ("aluno")
print (" % d studname:" % studname.comprimento)
Para Snome in Studname:
Imprima (SNITE.getAttribute ("nome"))
Se __name__ == "__main__":
principal()

Conclusão

Este artigo discutiu brevemente o formato de arquivo XML e como analisar arquivos XML no Python. Existem várias bibliotecas para analisar arquivos XML no Python. Mas, neste artigo, cobrimos apenas a Biblioteca Minidom e vemos vários exemplos para analisar arquivos XML e adicionar novos elementos XML.