Я новичок в xml-файле c #.Я пытаюсь удалить дубликаты из XML и сохранить только самые новые по дате путем выбора процесса с помощью выбранного элемента в выпадающем списке:
*The XML structure is:
<Trace>
<Log>
<Process>NPP</Process>
<LineNo>14</LineNo>
<Date>12/3/2019 5:47:53 PM</Date>
<Result>Passed</Result>
</Log>
<Log>
<Process>WET</Process>
<LineNo>14</LineNo>
<Date>12/3/2019 5:50:54 PM</Date>
<Result>Passed</Result>
</Log>
<Log>
<Process>CPL</Process>
<LineNo>14</LineNo>
<Date>19/3/2019 5:14:07 AM</Date>
<Result>Re-input</Result>
</Log>
<Log>
<Process>CPL</Process>
<LineNo>14</LineNo>
<Date>19/3/2019 5:17:40 AM</Date>
<Result>Re-input</Result>
</Log>
<Log>
<Process>CPL</Process>
<LineNo>14</LineNo>
<Date>19/3/2019 6:27:43 AM</Date>
<Result>Re-input</Result>
</Log>
</Trace>
Данные по-прежнему отображают результат 3, если я выбираю процесс "CPL".Что я пробовал* Код:
var xdoc1 = XDocument.Load(@"D:\DataDirectory\DataDirectory145\Product\149329.xml");
var NewDoc1 = new XDocument(new XElement("Trace",from anEntry in xdoc1.Element("Trace").Elements("Log")
where anEntry.Element("Process").Value.Contains(cmbProcess.SelectedItem.ToString())
orderby anEntry.Element("Date").Value.ToString().First()
select anEntry)
);
var myList = (from bEntry in NewDoc.Descendants("SerialNo")
from bEntry1 in NewDoc1.Descendants("Log")
select new
{
Product_Serial_No = Path.GetFileNameWithoutExtension(bEntry.Element("Product").Value),
PWB_Serial_No = Path.GetFileNameWithoutExtension(bEntry.Element("PWB").Value),
Process = bEntry1.Element("Process").Value,
Line_No = bEntry1.Element("LineNo").Value,
Date = bEntry1.Element("Date").Value,
Result = bEntry1.Element("Result").Value
}
).ToList();
* Я ожидаю, что на выходе будет отображаться самая последняя дата:
|Продукт |PWB |Процесс |Линия № |Дата |Результат |
|149329 .. |149329 .. |CPL |14 |19.03.2009 6:27:43 |Повторный ввод |