Разбор XML и вывод значений в Excel с использованием UIPATH - PullRequest
0 голосов
/ 25 сентября 2019

Я хотел бы получить данные только для автомобилей BMW, чтобы преуспеть.У меня есть тысячи файлов XML, и количество записей будет варьироваться (в данном случае 3, это может быть от 0 до 5).

Учитывая этот сценарий, мне нужно увеличить счетчик или элемент транзакции в UIPATH.Но для начала я хотел бы вывести данные в Excel для этого XML-файла, и я ожидаю, что выходные данные приведены в прикрепленном изображении

    <country>
                <state>Texas</state>
                    <cars>        
                                 <brand>BMW</brand>
                                 <model>X1</model>
                                 <unit>210000</unit>        
                    </cars>
                    <cars>        
                                <brand>BMW</brand>
                                <model>X6</model>
                                <unit>210000</unit>     
                    </cars>
                    <cars>        
                                <brand>BMW</brand>
                                <model>X7</model>
                                 <unit>210000</unit>        
                    </cars>
                    <cars>        
                                 <brand>Ford</brand>
                                 <model>mustang</model>
                                 <unit>319000</unit>        
                    </cars>
                    <cars>        
                                 <brand>Volvo</brand>
                                <model>XC90</model>
                                 <unit>91100</unit>     
                    </cars> 
    </country>

** Вывод - **

enter image description here

1 Ответ

0 голосов
/ 25 сентября 2019

Ну, есть несколько возможных подходов, и какой из них вы выберете, зависит от того, насколько вам удобно с .NET (с использованием класса XDocument , подробности в UiPath KB здесь ).

Если вы предпочитаете избегать этого, попробуйте следующую последовательность, используя только функцию Execute XPath:

 1. For each XML file
 2. ... Get number of BMWs: count(//cars/brand[text()='BMW'])
 3. ... Loop that amount of times
 4. ... ... Get each individual value for that car: string(//cars[brand[text()='BMW']][i]/model)
    ... ... ... (replace the i for the loop number)
 5. ... ... Write that to Excel
 6. ... ... Repeat the previous command also for unit
...