Как сгруппировать дубликаты XML-элементов и сохранить их значения?
- Привет!
Это мой XML-файл:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE repub SYSTEM "C:\repub\Repub_V1.dtd"> <?xml-stylesheet href="C:\repub\repub.xsl" type="text/xsl"?> <repub> <head> <title>xxx</title> </head> <body> <sec> <title>First Title</title> <break name="1-1"> <heading><page num="1"/>First Heading</heading> <bl>This is another text</bl> <p>This is a paragraph</p> </break> </sec> <sec> <title>Second Title</title> <break name="2-1"> <heading><page num="1"/>Second Heading</heading> <bl>This is another text</bl> <p>This is a paragraph</p> </break> </sec> <sec> <title>First Title</title> <break name="3-1"> <heading><page num="1"/>Third Heading</heading> <bl>This is another text</bl> <p>This is a paragraph</p> </break> </sec> <sec> <title>Third Title</title> <break name="4-1"> <heading><page num="1"/>Fourth Heading</heading> <bl>This is another text</bl> <p>This is a paragraph</p> </break> <break name="5-1"> <heading><page num="1"/>Fifth Heading</heading> <bl>This is another text</bl> <p>This is a paragraph</p> </break> </sec> </body> </repub>
Я хочу получить список потомков "разрыва" для каждого раздела. Теперь раздел с повторяющимися именами будет объединен. Я не могу получить правильный список и получить следующий результат:
Цитата:{ идентификатор = {{ ТТЛ = новости }}, Количество = 9, вл = {система.Коллекции.Универсальный.Список<&ЛТ;&ГТ;Ф__AnonymousType0 в<строка, система.Коллекции.Общий.Интерфейс IEnumerable&ЛТ;система.в формате XML.в LINQ.XElement с&ГТ;&ГТ;&ГТ;} }
Во время отладки, Когда я нажимаю на значения, я получаю следующее:
Цитата:количество=9
id={ ttl = "новости" }
vl= количество = 9
Теперь, когда я нажимаю на vl, он показывает мне 9 значений следующим образом:
Цитата:{ ТТЛ = "новости", Валь = {система.В формате XML.В LINQ.XContainer.<getdescendants>d__39} }
Теперь, когда я нажимаю на val, я получаю значения строка за строкой. Я хочу, чтобы эти 9 значений были показаны непосредственно в первом щелчке мыши, в "vl".
Пожалуйста помочь.
С уважением
Аман
Что я уже пробовал:
var anothersectionslist = xdoc.Descendants("sec").SelectMany(br => br.Descendants("break").Select(p => new { ttl = br.Element("title").Value.ToString(), val = br.Descendants() })) .GroupBy(x => new { x.ttl }).ToList() .Select(grp => new { id = grp.Key, count = grp.Count(), vl = grp.ToList() }).ToList() .ToList();
Gerry Schmitz
Это то, что вы получаете, когда не используете промежуточные запросы. Путаница.
Graeme_Grant
Пожалуйста, не задавайте один и тот же вопрос дважды. Первоначально спрашивали здесь: https://www.codeproject.com/Answers/1278202/How-do-I-clear-the-old-values-from-XML-file-in-Csh