基于子节点值从XML文件获取节点计数

基于子节点值从XML文件获取节点计数,xml,xml-deserialization,uipath,Xml,Xml Deserialization,Uipath,我正在读UIPATH中的XML文件,我的要求是统计品牌“BMW”的条目数,不管其型号如何。例如,应返回“3”。你能帮我实现这一目标吗?或者给我一些线索来找到解决方案 <country> <state>Texas</state> <cars> <brand>BMW</brand>

我正在读UIPATH中的XML文件,我的要求是统计品牌“BMW”的条目数,不管其型号如何。例如,应返回“3”。你能帮我实现这一目标吗?或者给我一些线索来找到解决方案

<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>

得克萨斯州
宝马
X1
210000
宝马
X6
210000
宝马
X7
210000
河流浅水处
野马
319000
沃尔沃汽车
XC90
91100

使用foreach遍历xml(您可以在之前将其转换为json以使其更简单),完成后,您可以设置一个if条件,以确定是否是BMW增加了计数++

我想到了这一点。

您可以使用该函数并使用以下XPath仅在一个操作中获取计数:

count(//cars/brand[text()='BMW'])

马瑞克,谢谢!成功了。现在,真正的问题是将数据转储到excel中。。我有多个XML文件,只有少数文件有超过一个相同品牌的条目。所以我刚刚使用executexpath提取了brand、model和unit,但是如何循环,以便在excel中放入3条记录。品牌---车型---单元宝马---X1---2100000宝马---X6---2100000宝马---X7---2100000