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(.)')
Solved! Go to Solution.
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.
More details about Xpath function, please check the following article:
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
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.
More details about Xpath function, please check the following article:
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
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
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
Dive into the Power Platform stack with hands-on sessions and labs, virtually delivered to you by experts and community leaders.
Watch Nick Doelman's session from the 2020 Power Platform Community Conference on demand!
User | Count |
---|---|
40 | |
36 | |
28 | |
27 | |
27 |