c# - 使用 XPath 识别 XML 中的重复节点

标签 c# xml xpath

我正在尝试识别以下 XML 结构中的重复组节点。 我需要找到所有具有相同名称的组,无论它们在树中的哪个位置。

<report>
    <group name="a">
        <group name="1"></group>
        <group name="2"></group>
    </group>
    <group name="b">
        <group name="1"></group>
    </group>
</report>

类似于这篇文章 ( How do I identify duplicate nodes in XPath 1.0 using an XPathNavigator to evaluate? ) 但是,我需要识别具有相同属性而不是相同节点值的组。

最佳答案

如何使用 Linq To xml 查找重复项?

var dubs = XDocument.Parse(xml)
            .Descendants("group")
            .GroupBy(g => (string)g.Attribute("name"))
            .Where(g => g.Count() > 1)
            .Select(g => g.Key);

关于c# - 使用 XPath 识别 XML 中的重复节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16467412/

相关文章:

c# - 在 C# 中验证和更正无效的 emailid 格式

c# - JSON 与 XML - XML 是否需要 'local proxy' ?那是什么?

xslt - 消除 XSLT 中的重复文件名

c# - 如何将 'hermite' 曲线转换为贝塞尔曲线?

c# - unity OutOfMemoryException List.Add()

android - 如何一次性否定 View 的颜色?

java - 解析 XML 期间抛出 JAXB IllegalAnnotationException

html - 如何在文本结构不清晰时使用 Xpath 获取文本

c# - XPath Query C#动态提取节点

c# - 为什么处理 SqlCeConnection 既解决了一个异常又引发了另一个异常?