Skip to main content

Notifications

Community site session details

Community site session details

Session Id :
Power Automate - Building Flows
Unanswered

Iterate XML with flow

(0) ShareShare
ReportReport
Posted on by

I am currently trying to iterate through a XML file and get the data using Microsoft Flow.

I cannot figure out how to iterate through multiple XML elements. Please see below example.

 

This is my XML data:

 

 

<?xml version="1.0" encoding="utf-8"?>
</ShipmentProfileReport>
<ShipmentProfileReportItem>
<JobOperator>John Doe</JobOperator>
<Master>17231888581</Master>
</ShipmentProfileReportItem>
<ShipmentProfileReportItem>
<JobOperator>Jane Doe</JobOperator>
<Master>78423082032</Master>
</ShipmentProfileReportItem>
</ShipmentProfileReport>

I wish to iterate through all 

<ShipmentProfileReportItem>

items, and get:

 

 

<JobOperator>
<Master>

 

 

This is my flow:

 

 

XML (ShipmentProfileReportItem):

xpath(xml(outputs('XML_File')),'//ShipmentProfileReportItem')

 

 

Compose 2 (Inside foreach):

xpath(xml(item()),'string(.)')

 

This returns:

 

John Doe
17231888581

 

And

JaneDoe
78423082032

However above is just returned as above string. I want to update a sharepoint list. My question is: How can I access the lines seperately? For example:

 

xpath(xml(item("Master")),'string(.)')
xpath(xml(item("JobOperator")),'string(.)')

 

  • Community Power Platform Member Profile Picture
    on at
    Re: Iterate XML with flow

    Coming 1.5 years later.

    Thank you for the reply above.

    Scalable solution with just one Apply to each.

     

    (works with xmlns in my case, just had to replace a few strings to compose a new xml and iterate in the new one).

    kudos

  • GabrielStJohn Profile Picture
    on at
    Re: Iterate XML with flow

    Hey, @Anonymous!

    Thank you for posting on the Flow Community Forum! It appears as though @v-bacao-msft would like some more information in order to further assist you properly with your issue. Please share any additional information that was requested in order to decrease the amount of time that it will take for you to be assisted!

    Thank you for being an active member of the Flow Community!

    -Gabriel
    Flow Community Manager

  • Verified answer
    v-bacao-msft Profile Picture
    on at
    Re: Iterate XML with flow

    Hi @Anonymous,

     

    Have you tried to use this Expression? As below:

    Compose 2

     

    xpath(xml(item()),'string(/ShipmentProfileReportItem/JobOperator)') 

    Compose3

    xpath(xml(item()),'string(/ShipmentProfileReportItem/Master)')   

     

    Or these:

     Compose 4

     

    xpath(xml(item()),'string(//JobOperator)') 

     Compose 5

     

     

    xpath(xml(item()),'string(//Master)') 

     

    I followed your Flow tested it on my side and, and I can get these values separately.

    20.PNG21.PNG

    More details about Xpath function, please check the following article:

    https://docs.microsoft.com/en-us/azure/logic-apps/workflow-definition-language-functions-reference#x...

     

    More details about Xpath examples, please check the following article:

    https://msdn.microsoft.com/en-us/library/ms256086(v=vs.110).aspx

     

    Best Regards,

    Barry

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

Michael Gernaey – Community Spotlight

We are honored to recognize Michael Gernaey as our June 2025 Community…

Congratulations to the May Top 10 Community Leaders!

These are the community rock stars!

Announcing the Engage with the Community forum!

This forum is your space to connect, share, and grow!

Leaderboard >