为什么此代码无法在xml元素中找到任何重复项? [英] Why doesn't this code find any duplicates within an xml element?
本文介绍了为什么此代码无法在xml元素中找到任何重复项?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是输入的xml:
<?xml version="1.0"?>
<StateSeparationRequestCollection xsi:schemaLocation="https://uidataexchange.org/schemas SeparationRequest.xsd" xmlns="https://uidataexchange.org/schemas" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<StateSeparationRequest>
<StateRequestRecordGUID>30000000000000000000000000004000</StateRequestRecordGUID>
<SSN>999999999</SSN>
</StateSeparationRequest>
<StateSeparationRequest>
<StateRequestRecordGUID>30000000000000000000000000004000</StateRequestRecordGUID>
<SSN>999999999</SSN>
</StateSeparationRequest>
</StateSeparationRequestCollection>
我试图在StateRequestRecordGUID上找到重复的元素值,如果找到重复的,请将其从文档中删除.
I am trying to find duplicate element Values at StateRequestRecordGUID, and if duplicates are found, remove them from the document.
这是我的代码:
XDocument doc = XDocument.Load(xmlreader);
XNamespace ns = "https://uidataexchange.org/schemas";
var duplicates = (from req in doc.Descendants(ns + "StateSeparationRequest")
group req by req.Descendants(ns + "StateRequestRecordGUID").First().Value
into g
where g.Count() > 1
select g.Skip(1)).SelectMany(elements => elements);
foreach (var duplicate in duplicates)
{
duplicate.Remove();
}
var node = doc.Descendants(ns + "EmployerTPASeparationRequest");
var node2 = node.ElementAt(i);
string _StateRequestRecordGUID = "";
foreach (var element in node2.Elements())
{ ...
这应该是输出:
<?xml version="1.0"?>
<StateSeparationRequestCollection xsi:schemaLocation="https://uidataexchange.org/schemas SeparationRequest.xsd" xmlns="https://uidataexchange.org/schemas" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<StateSeparationRequest>
<StateRequestRecordGUID>30000000000000000000000000004000</StateRequestRecordGUID>
<SSN>999999999</SSN>
</StateSeparationRequest>
</StateSeparationRequestCollection>
推荐答案
我错过了未在xml文件中显示的父节点.我需要添加一个名为EmployerTPASeparationRequest的父级,然后在from语句中使用它.
I missed on parent node that I didn't display in the xml files. I needed to add a parent called EmployerTPASeparationRequest, then use that in the from statement.
这篇关于为什么此代码无法在xml元素中找到任何重复项?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文