Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> python

Tutorial do Python XML Parser:Leia o exemplo do arquivo xml (Minidom, ElementTree)

O que é XML?


XML significa eXtensible Markup Language. Ele foi projetado para armazenar e transportar pequenas e médias quantidades de dados e é amplamente utilizado para compartilhar informações estruturadas.

O Python permite analisar e modificar o documento XML. Para analisar o documento XML, você precisa ter todo o documento XML na memória. Neste tutorial, veremos como podemos usar a classe minidom XML em Python para carregar e analisar o arquivo XML.

Neste tutorial, vamos aprender-

Como analisar XML usando minidom


Criamos um arquivo XML de amostra que vamos analisar.

Etapa 1) Dentro do arquivo, podemos ver nome, sobrenome, home e a área de atuação (SQL, Python, Testes e Negócios)




Etapa 2) Depois de analisar o documento, imprimiremos o "nome do nó" da raiz do documento e o “nome da tag firstchild” . Tagname e nodename são as propriedades padrão do arquivo XML.



Observação :

Nodename e tagname filho são os nomes padrão ou propriedades de um dom XML. Caso você não esteja familiarizado com esses tipos de convenções de nomenclatura.

Etapa 3) Também podemos chamar a lista de tags XML do documento XML e imprimi-la. Aqui imprimimos o conjunto de habilidades como SQL, Python, Testes e Negócios.


Como criar um nó XML


Podemos criar um novo atributo usando a função “createElement” e, em seguida, anexar esse novo atributo ou tag às tags XML existentes. Adicionamos uma nova tag “BigData” em nosso arquivo XML.
  1. Você precisa codificar para adicionar o novo atributo (BigData) à tag XML existente
  2. Então você tem que imprimir a tag XML com novos atributos anexados com a tag XML existente


Exemplo de analisador XML


Exemplo do Python 2
import xml.dom.minidom

def main():
# use the parse() function to load and parse an XML file
   doc = xml.dom.minidom.parse("Myxml.xml");
  
# print out the document node and the name of the first child tag
   print doc.nodeName
   print doc.firstChild.tagName
  
# get a list of XML tags from the document and print each one
   expertise = doc.getElementsByTagName("expertise")
   print "%d expertise:" % expertise.length
   for skill in expertise:
     print skill.getAttribute("name")
    
# create a new XML tag and add it into the document
   newexpertise = doc.createElement("expertise")
   newexpertise.setAttribute("name", "BigData")
   doc.firstChild.appendChild(newexpertise)
   print " "

   expertise = doc.getElementsByTagName("expertise")
   print "%d expertise:" % expertise.length
   for skill in expertise:
     print skill.getAttribute("name")
    
if name == "__main__":
  main();

Exemplo do Python 3
import xml.dom.minidom

def main():
    # use the parse() function to load and parse an XML file
    doc = xml.dom.minidom.parse("Myxml.xml");

    # print out the document node and the name of the first child tag
    print (doc.nodeName)
    print (doc.firstChild.tagName)
    # get a list of XML tags from the document and print each one
    expertise = doc.getElementsByTagName("expertise")
    print ("%d expertise:" % expertise.length)
    for skill in expertise:
        print (skill.getAttribute("name"))

    # create a new XML tag and add it into the document
    newexpertise = doc.createElement("expertise")
    newexpertise.setAttribute("name", "BigData")
    doc.firstChild.appendChild(newexpertise)
    print (" ")

    expertise = doc.getElementsByTagName("expertise")
    print ("%d expertise:" % expertise.length)
    for skill in expertise:
        print (skill.getAttribute("name"))

if __name__ == "__main__":
    main();

Como analisar XML usando ElementTree


ElementTree é uma API para manipular XML. ElementTree é a maneira mais fácil de processar arquivos XML.

Estamos usando o seguinte documento XML como dados de amostra:
<data>
   <items>
      <item name="expertise1">SQL</item>
      <item name="expertise2">Python</item>
   </items>
</data>

Ler XML usando ElementTree:

devemos primeiro importar o módulo xml.etree.ElementTree.
import xml.etree.ElementTree as ET

Agora vamos buscar o elemento raiz:
root = tree.getroot()


A seguir está o código completo para leitura dos dados xml acima
import xml.etree.ElementTree as ET
tree = ET.parse('items.xml')
root = tree.getroot()

# all items data
print('Expertise Data:')

for elem in root:
   for subelem in elem:
      print(subelem.text)

saída:
Expertise Data:
SQL
Python

Resumo:


O Python permite que você analise todo o documento XML de uma só vez e não apenas uma linha por vez. Para analisar o documento XML, você precisa ter o documento inteiro na memória.

python

  1. E/S de arquivo Python
  2. Java BufferedReader:Como Ler Arquivo em Java com Exemplo
  3. Função Python String strip () com EXEMPLO
  4. Comprimento da string do Python | Exemplo do método len()
  5. Yield in Python Tutorial:Generator &Yield vs Return Example
  6. Contador Python em coleções com exemplo
  7. Função Enumerate() em Python:Loop, Tuple, String (Exemplo)
  8. Python verifica se o arquivo existe | Como verificar se existe um diretório em Python
  9. Python JSON:codificar (despejar), decodificar (carregar) e ler arquivo JSON
  10. Python List index() com exemplo