Summary

The Excel FILTERXML function returns specific data from XML text using the specified XPath expression.

Purpose 

Get data from XML with Xpath

Return value 

Matching data as text

Arguments 

  • xml - Valid XML as a text string.
  • xpath - A valid Xpath expression as a text string.

Syntax 

=FILTERXML(xml, xpath)

Usage notes 

The Excel FILTERXML function returns specific data from XML text using a specified XPath expression. 

XML is a text format for storing and transporting data. It is not dependent on any particular hardware or software. XML is extensible and is designed to transport data, as opposed to displaying data in a particular way. XML has strict syntax rules which allows software to traverse the structure of an XML document and perform various operations.

XPath is a special query language for selecting the elements and attributes in an XML document. The FILTERXML function uses XPath to match and extract data from text in XML format.

Note: FILTERXML is not available in Excel on the Mac, or in Excel Online.

Example

In the example shown, the cell contains XML that carries information about albums published as CDs. Each CD contains the title of the album, the name of the artist, and the year the album was released. The formula in cell D5 uses FILTERXML to extract all titles:

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

The xml argument is the XML in cell B5, and the xpath argument is the expression "//cd/title", which matches all title elements with the parent . In Excel 365, which supports dynamic arrays, the results spill into the range D5:D14 automatically.

Dave Bruns Profile Picture

AuthorMicrosoft Most Valuable Professional Award

Dave Bruns

Hi - I'm Dave Bruns, and I run Exceljet with my wife, Lisa. Our goal is to help you work faster in Excel. We create short videos, and clear examples of formulas, functions, pivot tables, conditional formatting, and charts.