Формула Excel: синтаксический анализ XML с помощью формулы -

Содержание

Общая формула

=FILTERXML(A1,"xpath")

Резюме

Для синтаксического анализа XML с помощью формулы можно использовать функцию FILTERXML. В показанном примере формула в D5:

=FILTERXML(B5,"//album/title")

который возвращает десять названий альбомов в XML.

Примечание. FILTERXML недоступен в Excel на Mac или в Excel Online.

Объяснение

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

В показанном примере ячейка B5 содержит данные XML, описывающие 10 музыкальных альбомов. Для каждого альбома есть информация о названии, исполнителе и году. Чтобы проанализировать этот XML, функция FILTERXML используется 3 раза в ячейках D5, E5 и F5, как показано ниже:

=FILTERXML(B5,"//album/title") // get title =FILTERXML(B5,"//album/artist") // get artist =FILTERXML(B5,"//album/year") // get year

В каждом случае выражение XPath нацелено на определенный элемент в XML. Например, в ячейке D5 XPath нацелен на элемент заголовка с помощью этой строки:

"//album/title"

С этим выражением XPath FILTERXML возвращает все 10 названий альбомов. Поскольку этот пример был создан в Excel 365, который поддерживает динамические массивы, результаты автоматически попадают в диапазон D5: D14.

Интересные статьи...