web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Automate / Using xPath on an HTTP...
Power Automate
Answered

Using xPath on an HTTP xml body

(1) ShareShare
ReportReport
Posted on by 7

Hi, 

I'm trying to change the xml format of an HTTP request to JSON format using the xpath expression in flow. 

 

Here is my xml :

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml" xml:base="https://tenant.sharepoint.com/sites/sitename/_api/">
<id>d1fd24b2-eeb1-4820-a545-f071653f467e</id>
<title/>
<updated>2017-12-01T10:40:43Z</updated>
<entry m:etag="&quot;4&quot;">
 <id>cda821b5-e13b-4dff-9c2e-5be55f5fa3d1</id>
 <category term="SP.Data.EmployeesListItem" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"/>
 <link rel="edit" href="Web/Lists(guid'5b359dba-549b-4210-8afa-5e4fe2aeb166')/Items(3431)"/>
 <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/LineManager" type="application/atom+xml;type=entry" title="LineManager" href="Web/Lists(guid'5b359dba-549b-4210-8afa-5e4fe2aeb166')/Items(3431)/LineManager">
 <m:inline>
 <entry>
 <id>4f07e464-50cd-4faf-8324-8a4b26878b5a</id>
 <category term="SP.Data.UserInfoItem" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"/>
 <title/>
 <updated>2017-12-01T10:40:43Z</updated>
 <author>
 <name/>
 </author>
 <content type="application/xml">
 <m: properties>
 <d:EMail>testemail@test.com</d:EMail>
 <d:Title>ps admin</d:Title>
 </m: properties>
 </content>
 </entry>
</m:inline>
</link>
<title/>
<updated>2017-12-01T10:40:43Z</updated>
<author>
 <name/>
</author>
<content type="application/xml">
<m: properties>
 <d: PSFullName>PS Employee</d: PSFullName>
</m: properties>
</content>
</entry>
</feed>

Here is my expression : 

xpath(xml(body('Invoke_an_HTTP_request')), string('/feed/entry/link[2]/m:inline/entry/content/m: properties/d:EMail'))

 

I get the follwing error :

 

InvalidTemplate. Unable to process template language expressions in action 'Set_variable' inputs at line '1' and column '2158': 'The template language function 'xpath' parameters are invalid: the 'xpath' parameter must be a supported, well formed XPath expression. Please see https://aka.ms/logicexpressions#xpath for usage details.'.

 

The desired result is to retrieve the email address in the <d:Email > tag.

 

Thanks for any help in advance, 

Macaurly. 

 

 

Categories:
I have the same question (0)
  • Verified answer
    Community Power Platform Member Profile Picture
    Microsoft Employee on at

    why aren't you receiving that request in JSON?

    gonna play with this a bit.

     

     

    the main issue with the XPath here is because of the namespaces.  XPath probably doesn't know what m or d are.

     

    to perform query without caring about the namespace, you can use local-name()

     

    try:

     

    xpath(xml(outputs('Compose')), '//*[local-name()="properties"]/*[local-name()="EMail"]/text()')

    Compose = XML string

  • garrytrinder Profile Picture
    5 on at

    Thanks for the reply John 🙂

     

    Its a bit of a long story really as to why its coming back as XML. We have a list that exceeds the lookup limit in SharePoint Online, but because there is no $select on the SharePoint connector it fails as it tries to return too much data, as a work around we are using the Azure AD HTTP Connector which has no option to pass headers so it comes back as XML, hence why we are here 🙂

     

    I'll try the XPath suggestion you posted, thank you.

  • Macaurly Profile Picture
    7 on at

    Thanks John, this solves our problem 🙂

  • Community Power Platform Member Profile Picture
    Microsoft Employee on at

    hi, 

     

    i have a similar issue here, but i am a bit confused about the wokraround you mentioned. what exactly does compose action have in "Compose = XML String"?

     

    thanks in advance. 

  • Community Power Platform Member Profile Picture
    Microsoft Employee on at
    write that expression in a Compose action.

    Compose is used like a "build string" action here - use the expression editor to enter the formula in a Compose to extract the fields you want through XPath
  • rgparisoto Profile Picture
    220 on at

    Very very very helpfull!!!

  • rgparisoto Profile Picture
    220 on at

    Guys!

    Whats I have to do to get this three items?

     

    XMLDuplicatas.png

     

    Thank you for any help.

    Robson.

     

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Users!

Kudos to our 2025 Community Spotlight Honorees

Congratulations to our 2025 community superstars!

Congratulations to the March Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Automate

#1
Haque Profile Picture

Haque 598

#2
Valantis Profile Picture

Valantis 477

#3
Vish WR Profile Picture

Vish WR 370

Last 30 days Overall leaderboard