Working with XML in UIPath

studio
xml

#1

I have an xml file… I want to load it in UIPath and update some values. The approach I’m taking is
Step 1 - First read xml file as string
Step 2 - De Serialize that as xmlobject
Step 3 - Execute Xpath to get the value of the element
Step 4 - Update the value for that element
Step 5 - Write xml back to file.

In the above Step 1 and Step 2 - Completed without any issues
Step 3 - I’m able to successfully execute Xpath but how do i read the element ?
Setp 4 & Step 5 - how to update the xml element and write it back to file… can anyone throw some suggestions…

thanks


#2

Hi,

  1. Read Text File -> Get xml file content as string
  2. DeSerialize string to XDocument
  3. & 4. You can access the value myXDoc.Root.Element(“myElement”).Value
    If you want to change said value you can assign string value to it : myXDoc.Root.Element(“myElement”).Value = "new value"
    5 Write Text File -> overwrite the previous xml file or create a new one with value myXDoc.ToString

BR,
Topi


#3

Hi
What if you’re looking for a specific value that starts with a specific letter follows with some numbers, and afterwards write it to “new value” under another element?

Is there anyway to search for this function?

Thanks in advance
Exting


#4

Hi,

here’s one way. Note that for more consistent results you should use Regex, once you know the specific search requirements.
myXMLElem = xmlDoc.Root.Descendants.First(function(x) (x.Value.ToString.StartsWith(“A”) AndAlso x.Value.ToString.Contains(“123”)))

myOtherElem.Value = ,myXMLElem.Value

br,
Topi


#5

Hi Topi

I solved it by using Regex after replacing unnecessary string, and afterwards serached for the specific letter follows with 4 numbers.

The last step would be giving a element/childitem a new value (overwriting), and change the fileformat from .xml to a specific fileextension.

Is there a easy way to perform this in UiPath?

Thanks in advance
Exting.