Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

Учебное пособие по Python XML Parser:чтение примера XML-файла (Minidom, ElementTree)

Что такое XML?

XML означает расширяемый язык разметки. Он был разработан для хранения и передачи небольших и средних объемов данных и широко используется для обмена структурированной информацией.

Python позволяет анализировать и изменять XML-документ. Чтобы разобрать XML-документ, вам нужно иметь весь XML-документ в памяти. В этом руководстве мы увидим, как мы можем использовать класс XML minidom в Python для загрузки и анализа XML-файла.

В этом уроке мы изучим-

Как анализировать XML с помощью minidom

Мы создали образец XML-файла, который собираемся проанализировать.

Шаг 1) Внутри файла мы можем увидеть имя, фамилию, дом и область знаний (SQL, Python, тестирование и бизнес)


Шаг 2) После анализа документа мы распечатаем "имя ​​узла". корня документа и «имя первого дочернего тега» . Имя тега и имя узла являются стандартными свойствами файла XML.

Примечание :

Имя узла и дочерний тэг — это стандартные имена или свойства XML-дома. В случае, если вы не знакомы с такими соглашениями об именах.

Шаг 3) Мы также можем вызвать список тегов XML из XML-документа и распечатать его. Здесь мы распечатали набор навыков, таких как SQL, Python, тестирование и бизнес.

Как создать узел XML

Мы можем создать новый атрибут с помощью функции «createElement», а затем добавить этот новый атрибут или тег к существующим тегам XML. Мы добавили новый тег «BigData» в наш файл XML.

  1. Чтобы добавить новый атрибут (BigData) в существующий тег XML, необходимо написать код.
  2. Затем вам нужно распечатать тег XML с новыми атрибутами, добавленными к существующему тегу XML.

Пример анализатора XML

Пример 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();

Пример 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();

Как анализировать XML с помощью ElementTree

ElementTree — это API для управления XML. ElementTree — это простой способ обработки XML-файлов.

Мы используем следующий XML-документ в качестве примера данных:

<data>
   <items>
      <item name="expertise1">SQL</item>
      <item name="expertise2">Python</item>
   </items>
</data>

Чтение XML с помощью ElementTree:

мы должны сначала импортировать модуль xml.etree.ElementTree.

import xml.etree.ElementTree as ET

Теперь давайте получим корневой элемент:

root = tree.getroot()


Ниже приведен полный код для чтения указанных выше XML-данных

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)

вывод:

Expertise Data:
SQL
Python

Обзор:

Python позволяет анализировать весь XML-документ за один раз, а не по одной строке за раз. Чтобы разобрать XML-документ, вам нужно иметь весь документ в памяти.


Python

  1. Файловый ввод-вывод Python
  2. Java BufferedReader:как читать файл в Java с примером
  3. Функция Python String strip() с ПРИМЕРОМ
  4. Длина строки Python | Пример метода len()
  5. Учебное пособие по доходности в Python:генератор и пример доходности и возврата
  6. Счетчик Python в коллекциях с примером
  7. Функция Enumerate() в Python:цикл, кортеж, строка (пример)
  8. Python Проверить, существует ли файл | Как проверить, существует ли каталог в Python
  9. Python JSON:кодировать (дампы), декодировать (загружать) и читать файл JSON
  10. Индекс списка Python() с примером