发布
社区首页 >问答首页 >用于识别XML文件列表中重复项的Powershell脚本

用于识别XML文件列表中重复项的Powershell脚本
EN

Stack Overflow用户
提问于 2021-10-18 15:11:47
回答 1查看 99关注 0票数 0

专家们,

下面是代码的一部分,我试图找到在代码中输入的重复行。

代码语言:javascript
代码运行次数:0
复制
<InputParameters>
    <Parameter Name="Team-Manager" Value="Team-Manager"/>
    <Parameter Name="Team-Lead" Value="Team-Lead"/>
    <Parameter Name="Officer" Value="Y"/>   
    <Parameter Name="Officer" Value="Y"/>               
</InputParameters>

没有错误,但输出也没有返回任何结果。

代码语言:javascript
代码运行次数:0
复制
PS C:\Desktop\Path1\xml> Get-ChildItem -Filter *.xml |Select-Xml -XPath '//*[count(./Officer) > 1]'

PS C:\Desktop\Path1\xml> 

PS C:\Desktop\Path1\xml> Get-ChildItem -Filter *.xml |Select-Xml -XPath '//*[count[@Name="Officer"][@Value="Y"] > 1]'

PS C:\Desktop\Path1\xml> 
EN

回答 1

Stack Overflow用户

发布于 2021-10-18 15:18:22

您可以使用XPath count()函数来标识具有多个<address>子节点的<UNIVERSITY>节点:

代码语言:javascript
代码运行次数:0
复制
Get-ChildItem -Filter *.xml |Select-Xml -XPath '//address[count(./UNIVERSITY) > 1]'

如果<address>节点可能有效地具有多个不同的<UNIVERSITY>条目,请使用Group-Object测试重复项:

代码语言:javascript
代码运行次数:0
复制
Get-ChildItem -Filter *.xml |Select-Xml -XPath '//address[count(./UNIVERSITY) > 1]' |Where-Object {
    @($_.Node.UNIVERSITY |Group-Object -NoElement |Where-Object Count -gt 1).Count -gt 0
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69618436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档