Как открыть xml-файл в общей оценке

Обновлено: 04.07.2024

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

XML: XML означает расширяемый язык разметки. Он был разработан для хранения и передачи данных. Он был разработан таким образом, чтобы его мог читать как человек, так и компьютер. Вот почему цели разработки XML подчеркивают простоту, универсальность и удобство использования в Интернете.
XML-файл, который будет анализироваться в этом руководстве, на самом деле является RSS-каналом. .

  • Сам формат RSS относительно легко читается как автоматизированными процессами, так и людьми.
  • В этом руководстве обрабатывается RSS-канал с главными новостями с популярного новостного веб-сайта. Вы можете проверить это здесь. Наша цель – обработать этот RSS-канал (или XML-файл) и сохранить его в другом формате для использования в будущем.

Используемый модуль Python. В этой статье основное внимание будет уделено использованию встроенного модуля xml в Python для синтаксического анализа XML, а основное внимание будет уделено API ElementTree XML этого модуля.

Реализация:

  • Загрузить RSS-канал с указанного URL-адреса и сохранить его как XML-файл.
  • Проанализируйте файл XML, чтобы сохранить новости в виде списка словарей, где каждый словарь представляет собой отдельный элемент новостей.
  • Сохраните новости в файл CSV.

    Загрузка и сохранение RSS-канала

Здесь мы используем модуль xml.etree.ElementTree (сокращенно назовем его ET). Для этой цели в Element Tree есть два класса: ElementTree представляет весь XML
документ в виде дерева, а Element представляет один узел в этом дереве. Взаимодействие со всем документом (чтение и запись в/из файлов) обычно выполняется на уровне ElementTree. Взаимодействия с одним XML-элементом и его подэлементами выполняются на уровне элемента.

Хорошо, теперь давайте рассмотрим функцию parseXML():

Здесь мы создаем объект ElementTree, анализируя переданный XML-файл.

Функция getroot() возвращает корень дерева в виде объекта Element.

Теперь, когда вы взглянете на структуру вашего файла XML, вы заметите, что нас интересует только элемент элемента.
./channel/item на самом деле является синтаксисом XPath (XPath — это язык для адресация частей XML-документа). Здесь мы хотим найти все элементы, внучатые дочерние элементы канала корневого элемента (обозначенного ‘.’).
Вы можете прочитать больше о поддерживаемом синтаксисе XPath здесь.

Теперь мы знаем, что перебираем элементы элементов, каждый из которых содержит одну новость. Итак, мы создаем пустой словарь новостей, в котором будем хранить все доступные данные о новости. Чтобы перебрать каждый дочерний элемент элемента, мы просто перебираем его, например:

Нам придется обрабатывать теги пространства имен отдельно, так как при разборе они расширяются до исходного значения. Итак, мы делаем что-то вроде этого:

child.attrib — это словарь всех атрибутов, связанных с элементом. Здесь нас интересует атрибут url тега пространства имен media:content.
Теперь для всех остальных дочерних элементов мы просто делаем:

child.tag содержит имя дочернего элемента. child.text хранит весь текст внутри этого дочернего элемента. Итак, наконец, образец элемента элемента преобразуется в словарь и выглядит следующим образом:


Итак, вот как теперь выглядят наши отформатированные данные:

Как видите, данные иерархического файла XML были преобразованы в простой файл CSV, так что все новости хранятся в виде таблицы. Это также упрощает расширение базы данных.
Кроме того, данные в формате JSON можно использовать непосредственно в своих приложениях! Это лучшая альтернатива для извлечения данных с веб-сайтов, которые не предоставляют общедоступный API, но предоставляют некоторые RSS-каналы.

Весь код и файлы, использованные в статье выше, можно найти здесь.

  • Вы можете просмотреть другие RSS-каналы новостного веб-сайта, использованного в приведенном выше примере. Вы можете попытаться создать расширенную версию приведенного выше примера, проанализировав и другие RSS-каналы.
  • Вы любите крикет? Тогда этот RSS-канал должен вас заинтересовать! Вы можете проанализировать этот XML-файл, чтобы получить информацию о матчах по крикету в прямом эфире и использовать ее для создания уведомления на рабочем столе!

Пожалуйста, напишите комментарии, если обнаружите что-то неверное или хотите поделиться дополнительной информацией по теме, обсуждавшейся выше

В этом разделе обсуждается класс CalculationChain Open XML SDK 2.5 и его связь со схемой SpreadsheetML формата файлов Open XML. Дополнительные сведения об общей структуре частей и элементов, составляющих документ SpreadsheetML, см. в разделе Структура документа SpreadsheetML (Open XML SDK).

Цепочка вычислений в SpreadsheetML

Следующая информация из спецификации ISO/IEC 29500 представляет элемент CalculationChain ( ).

Экземпляр части этого типа содержит упорядоченный набор ссылок на все ячейки на всех листах книги, значение которых вычисляется по любой формуле. Порядок позволяет вычислять взаимосвязанные формулы ячеек в правильном порядке, когда рабочий лист загружается для использования.

Пакет должен содержать не более одной части цепочки вычислений.

Корневым элементом для части этого типа контента должен быть calcChain.

Часть "Цепочка вычислений" определяет порядок, в котором ячейки книги вычислялись в последний раз. Он записывает только информацию о ячейках, содержащих формулы. Он не содержит никакой информации о дереве вычисления зависимости от формулы. Другими словами, в части «Цепочка вычислений» не указываются зависимости формул от значений других ячеек; он указывает только порядок, в котором ячейки вычислялись в последний раз.

Любое конкретное событие вычисления может привести к перестройке или изменению порядка цепочки вычислений. Например, при добавлении в книгу дополнительных формул в части «Цепочка вычислений» добавляются ссылки.

Еще один пример того, как можно обновить порядок расчета, связан с идеей частичного расчета. Частичное вычисление — это оптимизация, которую приложение электронной таблицы может реализовать для вычисления только тех ячеек, которые зависят от других ячеек, значения которых изменились, и для игнорирования других формул в книге. Это помогает избежать избыточного пересчета результатов, которые уже известны. Таким образом, если набор формул, которые ранее игнорировались во время расчета, становится необходимым для расчета (из-за изменения значения ячейки), эти формулы перемещаются на «первые» в цепочке вычислений, чтобы их можно было оценить.

Хотя информация о цепочке вычислений может быть загружена приложением для работы с электронными таблицами, это не обязательно. Цепочка вычислений может быть построена в памяти во время загрузки на основе формул и их взаимозависимости, если приложение электронных таблиц сочтет эту информацию полезной. Порядок, указанный в части цепочки вычислений, не навязывает и не диктует реализующему приложению порядок, в котором должны выполняться вычисления во время выполнения.

В следующей таблице перечислены общие классы Open XML SDK 2.5, используемые при работе с классом CalculationChain.

Элемент SpreadsheetML Класс Open XML SDK 2.5
c CalculationCell

Класс CalculationChain Open XML SDK 2.5

Класс Open XML SDK 2.5CalculationChain представляет элемент абзаца ( ), определенный в схеме формата файла Open XML для документов SpreadsheetML. Используйте класс CalculationChain для управления отдельными элементами в документе SpreadsheetML.

Класс расчетной ячейки

Класс CalculationCell представляет элемент ячейки ( ), представляющий ячейку, содержащую формулу.

Следующая информация из спецификации ISO/IEC 29500 знакомит с элементом CalculationCell ( ).

Каждый элемент c представляет собой ячейку, содержащую формулу. Первая вычисленная ячейка появляется первой (сверху вниз) и так далее. Атрибут ссылки r указывает адрес ячейки на листе. Атрибут индекса i указывает индекс листа, с которым связана эта ячейка.

Электронная таблицаML

Следующая информация из стандарта ISO/IEC 29500 показывает XML для примера цепочки вычислений после того, как приложение выполнит свой первый полный расчет.

< бр />

Брэди Гэвин


Брэди Гэвин
Писатель

Брэйди Гэвин уже 15 лет занимается технологиями и написал более 150 подробных руководств и пояснений. Он рассмотрел все, от взломов реестра Windows 10 до советов по браузеру Chrome. Брэди имеет диплом в области компьютерных наук в колледже Камосан в Виктории, Британская Колумбия. Подробнее.


Файл с расширением .xml является файлом Extensible Markup Language (XML). На самом деле это обычные текстовые файлы, в которых используются пользовательские теги для описания структуры и других характеристик документа.

Что такое XML?

XML — это язык разметки, созданный Консорциумом World Wide Web (W3C) для определения синтаксиса кодирования документов, которые могут читать как люди, так и машины. Это достигается за счет использования тегов, которые определяют структуру документа, а также способы его хранения и транспортировки.

Вероятно, проще всего сравнить его с другим языком разметки, с которым вы, возможно, знакомы, — языком разметки гипертекста (HTML), используемым для кодирования веб-страниц.HTML использует предопределенный набор символов разметки (кратких кодов), которые описывают формат содержимого на веб-странице. Например, в следующем простом HTML-коде используются теги, чтобы некоторые слова выделялись полужирным шрифтом, а некоторые — курсивом:

Однако XML отличается своей расширяемостью. XML не имеет предопределенного языка разметки, как HTML. Вместо этого XML позволяет пользователям создавать свои собственные символы разметки для описания контента, создавая неограниченный и самоопределяемый набор символов.

По сути, HTML — это язык, ориентированный на представление контента, а XML — это специальный язык описания данных, используемый для хранения данных.

XML часто используется в качестве основы для других форматов документов — на самом деле их сотни. Вот некоторые из них, которые вы можете узнать:

    и ATOM описывают, как приложения для чтения обрабатывают веб-каналы. использует XML для файлов конфигурации.
  • Microsoft Office 2007 и более поздние версии используют XML в качестве основы для структуры документа. Это то, что означает «X», например, в формате документа .DOCX Word, а также он используется в Excel (файлы XLSX) и PowerPoint (файлы PPTX).

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

Как его открыть?

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

Используйте текстовый редактор, если вы регулярно работаете с файлами XML

Поскольку XML-файлы на самом деле являются просто текстовыми файлами, их можно открыть в любом текстовом редакторе. Дело в том, что многие текстовые редакторы, такие как Блокнот, просто не предназначены для отображения XML-файлов с их правильной структурой. Можно открыть файл XML и быстро просмотреть его, чтобы понять, что это такое. Но есть гораздо лучшие инструменты для работы с ними.

Щелкните правой кнопкой мыши XML-файл, который хотите открыть, выберите «Открыть с помощью» в контекстном меню, а затем выберите параметр «Блокнот».


Примечание. Здесь мы используем примеры для Windows, но то же самое относится и к другим операционным системам. Найдите хороший сторонний текстовый редактор, поддерживающий XML-файлы.

Файл открывается, но, как вы можете видеть, он теряет большую часть форматирования и занимает всего две строки документа.


Поэтому, хотя Блокнот может быть полезен для быстрого извлечения XML-файла, гораздо лучше использовать более продвинутый инструмент, такой как Notepad++, который выделяет синтаксис и форматирует файл так, как он задуман.

Вот тот же файл XML, открытый в Notepad++:

Использование веб-браузера для просмотра структурированных данных

Если на самом деле вам не нужно редактировать файлы XML, а просто нужно иногда просматривать их, браузер, который вы используете для чтения этой статьи, хорошо подходит для этой работы. И на самом деле, ваш веб-браузер по умолчанию, скорее всего, настроен как средство просмотра XML-файлов по умолчанию. Таким образом, двойной щелчок по файлу XML должен открыть его в браузере.

Если нет, вы можете щелкнуть файл правой кнопкой мыши, чтобы найти варианты его открытия в любом приложении. Просто выберите свой веб-браузер из списка программ. В этом примере мы используем Chrome.


Когда файл откроется, вы должны увидеть хорошо структурированные данные. Это не так красиво, как представление с цветовой кодировкой, которое вы получаете в чем-то вроде Notepad++, но оно намного лучше, чем то, что вы получаете в Блокноте.


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

Вот подробнее рассмотрим эти варианты. Используйте кнопку "Обзор", чтобы загрузить XML-файл со своего компьютера, или кнопку "Загрузить URL", чтобы получить XML-файл из онлайн-источника.

Кнопка "Дерево" отображает ваши данные в красиво отформатированной древовидной структуре на панели результатов, где все ваши теги слева выделены оранжевым цветом, а атрибуты справа от тегов.


«Украсить» отображает ваши данные в виде аккуратных, легко читаемых строк на панели результатов.


Кнопка «Уменьшить» отображает ваши данные, используя наименьшее возможное количество пробелов. Он попытается поместить каждый фрагмент данных в одну строку. Это удобно, когда вы пытаетесь уменьшить размер файла. Это сэкономит место, но за счет возможности эффективного чтения.


И, наконец, вы можете использовать кнопку «XML в JSON», чтобы преобразовать XML в формат JSON, кнопку «Экспорт в CSV», чтобы сохранить данные в виде файла значений, разделенных запятыми, или кнопку «Загрузить», чтобы загрузите все внесенные вами изменения в виде нового XML-файла.

Типы файлов
Расширение DAT · 7Z · XML · RTF · XLSX · WEBP · EPUB · MP4 · AVI · MOBI · SVG · MP3 · REG · PHP · LOG · PPTX · PDF · MPEG · WMA · M4V · AZW · LIT
  • › Что такое файл SVG и как его открыть?
  • › Как добавить вкладку «Разработчик» в Microsoft Excel
  • › Что такое файлы AAE с iPhone и можно ли их удалить?
  • › Как добавить вкладку "Разработчик" на ленту Microsoft Office
  • › LibreOffice и Microsoft Office: чем они лучше?
  • › Что такое язык разметки?
  • › Что такое файл ODT и как его открыть?
  • › 5 вещей, которые вы, вероятно, не знали о GIF-файлах

Читайте также: