如何选择不同的 xml 节点
如何在 C# 中的 XML 中获取不同的节点列表,
例如
<root>
<node1 ss="d1" ff="f1" gg="h1"/>
<node1 ss="d1" ff="f2" gg="h1"/>
<node1 ss="d1" ff="f1" gg="h1"/>
<node1 ss="d2" ff="f1" gg="h1"/>
<node1 ss="d1" ff="f1" gg="h1"/>
<node1 ss="d1" ff="f1" gg="h1"/>
<node1 ss="d2" ff="f1" gg="h1"/>
<node1 ss="d1" ff="f2" gg="h1"/>
</root>
在此 XML 中,我将获取不同的节点 并使这个 xml
<root>
<node1 ss="d1" ff="f1" gg="h1"/>
<node1 ss="d1" ff="f2" gg="h1"/>
<node1 ss="d2" ff="f1" gg="h1"/>
</root>
这个 xml 不是真实的示例,我在全局模式下为 xml 中的任何结构寻找解决方案
How to take distinct nodes list in XML in c#
for example
<root>
<node1 ss="d1" ff="f1" gg="h1"/>
<node1 ss="d1" ff="f2" gg="h1"/>
<node1 ss="d1" ff="f1" gg="h1"/>
<node1 ss="d2" ff="f1" gg="h1"/>
<node1 ss="d1" ff="f1" gg="h1"/>
<node1 ss="d1" ff="f1" gg="h1"/>
<node1 ss="d2" ff="f1" gg="h1"/>
<node1 ss="d1" ff="f2" gg="h1"/>
</root>
in this XML i will take distinct node
and make this xml
<root>
<node1 ss="d1" ff="f1" gg="h1"/>
<node1 ss="d1" ff="f2" gg="h1"/>
<node1 ss="d2" ff="f1" gg="h1"/>
</root>
this xml is sample not real and i look for a solution in global mode for any struct in xml
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以通过多种方式做到这一点;例如,xslt 中的 Muenchian 分组。但在 C# 中,如果 xml 布局已知且固定,也许最简单的方法是:
如果您需要更灵活的东西,则使用
IEqualityComparer
(与.Distinct()< 一起使用) /code>) 会更有价值。
Various ways you could do that; Muenchian grouping in xslt for example. But in C#, if the xml layout is known and fixed, perhaps the easiest would be:
If you need something more flexible, an
IEqualityComparer<XElement>
(for use with.Distinct()
) would be more valuable.