
Общая формула
=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.