Как читать XML-файл в Python
В этой статье мы узнаем различные способы чтения XML-файлов в Python. Мы будем использовать некоторые встроенные модули и библиотеки, доступные в Python, а также некоторые связанные с ними пользовательские примеры. Давайте сначала быстро рассмотрим полную форму XML, введение в XML, а затем прочитаем о различных модулях синтаксического анализа для чтения XML-документов в Python.
Введение в XML
XML означает расширяемый язык разметки
. Это необходимо для отслеживания небольшого и среднего объема знаний. Это позволяет программистам разрабатывать свои собственные приложения для чтения данных из других приложений. Метод чтения информации из XML-файла и дальнейшего анализа его логической структуры известен как синтаксический анализ. Следовательно, чтение XML-файла — это то же самое, что и разбор XML-документа.
В этой статье мы рассмотрим четыре различных способа чтения документов XML с использованием различных модулей XML. Это:
1. MiniDOM (минимальная объектная модель документа)
2. BeautifulSoup вместе с парсером lxml
3. Дерево элементов
4. Простой API для XML (SAX)
XML-файл: Мы используем этот файл XML для чтения в наших примерах.
<данные> <модели> <модель name="model1">model1abc <модель name="model2">model2abcмодели> данные>
Чтение XML-файла с помощью MiniDOM
Это модуль Python, используемый для чтения XML-файла. Он предоставляет функцию parse()
для чтения файла XML
. Мы должны сначала импортировать Minidom, прежде чем использовать его функцию в приложении. Синтаксис этой функции приведен ниже.
Синтаксис
xml.dom.minidom.parse(имя_файла_или_файл[ парсер[ размер буфера]])
Эта функция возвращает документ типа XML.
Пример
Чтение XML-файла в Python Поскольку каждый узел будет рассматриваться как объект, мы можем получить доступ к атрибутам и тексту элемента, используя свойства объекта. Посмотрите на пример ниже, мы получили доступ к атрибутам и тексту выбранного узла.
из xml.dom импортировать минидом # разобрать xml файл по имени файл = minidom.parse('models.xml') #используйте getElementsByTagName() для получения тега модели = файл.getElementsByTagName('модель') # один конкретный атрибут элемента print('Атрибут модели №2:') печать (модели [1]. атрибуты ['имя']. значение) # все атрибуты элемента print('\nВсе атрибуты:') для элемента в моделях: печать (элемент. атрибуты ['имя']. значение) # данные одного конкретного элемента print('\nданные модели #2:') печать (модели [1].firstChild.data) печать (модели [1]. дочерние узлы [0]. данные) # все данные предметов print('\nВсе данные модели:') для элемента в моделях: печать (элемент.firstChild.data)
Модель #2 Атрибут:
Model2
Все атрибуты:
Model1
Model2
Модель № 2 Данные:
Model2ABC
Model2ABC
Все модели данных:
Model1ABC
Model2ABC
.

MODEL1ABC
MODEL2ABC
. Readlise PARESER.
В этом примере мы будем использовать библиотеку Python с именем BeautifulSoup
. Beautiful Soup поддерживает парсер HTML (lxml), включенный в стандартную библиотеку Python. Используйте следующую команду, чтобы установить красивый суп и парсер lmxl, если он не установлен.
#для красивого супа Пип установить BeautifulSoup4 #для парсера lmxl pip install lxml
После успешной установки используйте эти библиотеки в коде Python.
Мы используем этот файл XML для чтения кода Python.
<модель>Acer — это ноутбук Добавьте сюда номер модели Онида — это духовка Эксклюзив Добавьте цену сюда Добавить сюда содержимоеДобавьте сюда название компании Добавьте количество сотрудников здесь данные> модель>
Пример
Чтение XML-файла в Python Давайте прочитаем приведенный выше файл, используя библиотеку BeautifulSoup в скрипте Python.
из импорта bs4 BeautifulSoup # Чтение данных внутри xml-файла в переменную с именем data с open('models.xml', 'r') как f: данные = f.read() # Передача сохраненных данных внутрь парсера beautifulsoup bs_data = BeautifulSoup (данные, 'xml') # Поиск всех экземпляров тега b_unique = bs_data.find_all («уникальный») печать (b_unique) # Использование find() для извлечения атрибутов первого экземпляра тега b_name = bs_data.find('ребенок', {'имя':'Acer'}) печать (б_имя) # Извлечение данных, хранящихся в определенном атрибуте дочернего тега значение = b_name.get('кол-во') напечатать(значение)
[
12
Чтение XML-файла с помощью дерева элементов
Модуль Element tree
предоставляет нам множество инструментов для работы с XML-файлами. Установка не требуется. Благодаря формату XML, присутствующему в иерархическом формате данных, его становится проще представить в виде дерева. Дерево элементов представляет весь XML-документ в виде единого дерева.
Пример
Чтение XML-файла в Python Чтобы прочитать XML-файл, во-первых, мы импортируем класс ElementTree из библиотеки XML. Затем мы передадим имя файла XML в метод ElementTree.parse()
getroot()
. Затем мы отобразим родительский тег файла XML. Теперь для получения атрибутов вложенного тега родительского тега будет использоваться root[0].attrib
. Наконец, отобразите текст, заключенный в 1-м вложенном теге 5-го вложенного тега корня тега.# импорт дерева элементов импортировать xml.etree.ElementTree как ET # Передаем путь к xml-документу дерево = ET.parse('models.xml') # получить родительский тег корень = дерево.getroot() # вывести корневой (родительский) тег вместе с его расположением в памяти печать (корень) # вывести атрибуты первого тега печать (корень [0].атрибут) # напечатать текст, содержащийся в первом вложенном теге 5-го тега от родителя print(root[5][0].text)
<Элемент 'model' по адресу 0x0000024B14D334F8>
{‘name’: ‘Acer’, ‘qty’: ’12’}
Чтение XML-файла с помощью простого API для XML (SAX)
В этом методе сначала регистрируются обратные вызовы для происходящих событий, затем синтаксический анализатор обрабатывает документ. это может быть полезно, когда документы большие или присутствуют ограничения памяти. Он анализирует файл, потому что читает его с диска, а также не сохраняет весь файл в памяти. Чтение XML с помощью этого метода требует создания ContentHandler путем подкласса xml.sax.ContentHandler.
Примечание:
Этот метод может быть несовместим с версией Python 3. Пожалуйста, проверьте свою версию перед реализацией этого метода.
- ContentHandler — обрабатывает теги и атрибуты XML.
ContentHandler вызывается в начале и в конце каждого элемента.
- startDocument и endDocument — вызывается в начале и в конце файла XML.
- Если синтаксический анализатор не находится в режиме пространства имен, методы startElement (тег, атрибуты) и endElement (тег) вызываются; в противном случае соответствующие методы startElementNS и endElementNS
XML-файл
<коллекция полка="Новые поступления"> <номер модели="ST001"> <цена>35000цена> <количество>12количество> <компания>Самсунгкомпания> модель> <номер модели="RW345">46500 <количество>14количество>Онида модель> <номер модели="EX366"> <цена>30000цена> <кол-во>8кол-во> <компания>Леновокомпания> модель> <номер модели="FU699"> <цена>45000цена> <количество>12количество> <компания>Асеркомпания> модель> коллекция>
Пример кода Python
import xml.sax класс XMLHandler (xml.sax.ContentHandler): защита __init__(сам): self.CurrentData = "" собственная цена = "" Селф.кол-во = "" Селф.компания = "" # Вызов при запуске элемента def startElement (я, тег, атрибуты): self.CurrentData = тег если(тег == "модель"): печать("*****Модель*****") название = атрибуты["число"] print("Номер модели:", название) # Вызов, когда элемент заканчивается def endElement (я, тег): если (self.CurrentData == "цена"): print("Цена:", self.price) elif (self.CurrentData == "кол-во"): print("Количество:", self.qty) elif(self.CurrentData == "компания"): print("Компания:", self.company) self.CurrentData = "" # Вызов при чтении символа символы определения (я, содержание): если (self.CurrentData == "цена"): self.price = содержание elif (self.CurrentData == "кол-во"): self.
qty = содержание elif(self.CurrentData == "компания"): self.company = контент # создать XMLReader парсер = xml.sax.make_parser() # отключаем пространства имен parser.setFeature(xml.sax.handler.feature_namespaces, 0) # переопределить контекстный обработчик по умолчанию Обработчик = XMLHandler() parser.setContentHandler( обработчик ) parser.parse("models.xml")
*****Модель*****
Номер модели: ST001
Цена: 35000
Количество: 12
Компания: Samsung
*****Модель*****
Номер модели: RW345
Цена : 46500
Количество: 14
Компания: Onida
*****Модель****
Номер модели: EX366
Цена: 30000
Количество: 8
Компания: Lenovo
*****Модель**** *
Номер модели: FU699
Цена: 45000
Количество: 12
Компания: Acer
Заключение
В этой статье мы узнали о файлах XML и различных способах чтения файла XML с помощью нескольких встроенных модулей и таких API. как Minidom
, Beautiful Soup
, ElementTree
, Простой API (SAX)
. Мы также использовали некоторые пользовательские коды синтаксического анализа для анализа XML-файла.
Как просмотреть или открыть файл XML в Excel, Chrome, текстовом редакторе
Что такое файл XML?
Файлы расширяемого языка разметки, также известные как файлы XML для краткости, представляют собой читаемые файлы, описывающие структуры данных. XML — это язык программирования, который передает данные и их значение между компьютерными системами. Будучи языком разметки, он использует теги XML, чтобы указать, как должен быть структурирован документ
Существуют различные способы открытия XML-файлов: онлайн или с помощью приложений на вашем компьютере. В этой статье вы узнаете, как по-разному открывать эти файлы и преобразовывать документ Word в XML-файл.
Вы можете сохранить его в своей системе, используя расширение .xml. Если вы не видели его раньше, вот как выглядят XML-файлы:
Как открыть XML-файл с помощью браузера Chrome
В этом методе просто перетащите XML-файл, который вы хотите открыть, на новый вкладка в Хроме. Браузер автоматически открывает файл в формате XML.
Вот шаги для открытия XML-файла с помощью браузера Chrome:
Шаг 1) Откройте File Explorer в вашей системе и перейдите к XML-файлу, который вы хотите открыть.
Шаг 2) Щелкните правой кнопкой мыши выбранный файл и выберите « Открыть с помощью».
Шаг 3) На вашем экране могут отображаться разные браузеры. Прокрутите вниз, чтобы найти Chrome или любой другой браузер по вашему выбору, и нажмите.
Примечание: Хотя в этой статье используется браузер Chrome, вы можете использовать другие браузеры в своей системе тем же способом, который описан для Chrome.
Шаг 4) Вы увидите XML
Как открыть или просмотреть файлы XML с помощью текстового редактора – Блокнот
Вы также можете прочитать файл XML с помощью текстовых редакторов, таких как Блокнот или Word. Тем не менее, Блокнот является наиболее часто используемым текстовым редактором для открытия XML-файлов. Это проще и не так сложно, как MS Word.
Шаг 1) Откройте файловый менеджер в вашей системе. Найдите файл XML, который вы хотите открыть, и щелкните его правой кнопкой мыши. Выберите параметр « Открыть с помощью» , который отображается на вашем экране.
Шаг 2) Выберите Блокнот
На экране появится список различных инструментов для открытия файлов XML. Прокрутите вниз, чтобы найти Блокнот и нажмите на него.
Однако, если блокнот не отображается при первом нажатии кнопки « Открыть с помощью опции , вы можете следовать этому процессу.
Шаг 1) Нажмите Выберите другое приложение.
Шаг 2) Проверьте, чтобы узнать больше приложений
Если вы все еще не нашли его, нажмите на Подробнее приложения с стрелкой, указывающей вниз
Шаг 3) Нажмите на Notepad
. приложения будут отображаться на вашем экране, что позволит вам выбрать. Прокрутите вниз эти параметры и нажмите Блокнот. Файл будет открыт
Как открыть или просмотреть файл XML с помощью Excel
Вам может быть интересно, можно ли открыть файл XML в Excel. Что ж, это так. Однако это применимо только в том случае, если в XML-файле не слишком много вложенных тегов.
Шаг 1) Откройте MS Excel в вашей системе
Откройте файл MS Excel и нажмите File , затем Open.
Шаг 2) Затем перейдите к расположению файла XML. Найдя его, вы можете дважды щелкнуть по нему или выбрать Откройте , чтобы открыть файл.
Шаг 3) На экране появятся три варианта. Затем вы выбираете «Как таблицу XML» и нажимаете OK.
Шаг 4) Затем файл XML откроется в таблице Excel. Вложенные теги в файле XML преобразуют файл в таблицу Excel.
Как открыть файл XML в Интернете с помощью XMLGrid.net
Сегодня в Интернете существуют различные средства просмотра XML, такие как XMLGrid.net, формат JSON и Code beautify. Все они работают по похожей схеме. Однако XMLGrid.net служит иллюстрацией в этой статье.
Вот шаги, чтобы открыть файл XML в Интернете с помощью XMLGrid.net:
Шаг 1) Перейдите в браузер по умолчанию и введите этот URL, XMLGrid.net, в строке поиска. Вот как выглядит главная страница, когда вы открываете ссылку.
Шаг 2) Вы можете вставить URL-адрес, скопировать и вставить свои данные в поле или нажать Открыть файл для поиска XML-файлов на вашем компьютере.
Шаг 3) После выбора файла нажмите Отправьте для просмотра XML-файла
Шаг 4) Переключитесь с Gridview на TextView
Затем нажмите Submit -> GridView -> TextView , чтобы просмотреть полный XML-файл.
Ваш файл будет выглядеть следующим образом:
Как преобразовать и прочитать формат файла XML в текстовом формате
Чтобы сделать файл XML более гибким, вам необходимо преобразовать его в текст. Вы можете преобразовать файл XML в текст с помощью Wondershare PDFelement.
Вот шаги для преобразования и чтения файла XML в текстовый формат:
Шаг 1) Откройте файл XML с помощью Блокнота или MS Word
Шаг 2) Щелкните Файл в текстовом редакторе . На экране отобразятся несколько параметров, в том числе Печать. Щелкните по нему. Или вы можете ввести ctrl P , чтобы вывести параметры печати.
Шаг 3) На экране будут отображаться различные параметры печати, но выберите Wondershare PDFelement. Затем нажмите Печать.
Шаг 4) Вы будете перенаправлены в приложение Wondershare PDFelement .
Ваш комментарий будет первым