Не получается определить максимальное значение атрибута id XML - C#

Узнай цену своей работы

Формулировка задачи:

Привет) Создаю XML:
public void createxml() {
    string fileName = "base.xml";
    int trackId = 1;
    XDocument doc = new XDocument(new XElement("DATA", new XElement("teg1", "первое определение"), new XElement("teg2", "второе определение"), new XElement("container", new XElement("person", new XAttribute("id", trackId++), new XElement("number", "89535564578"), new XElement("fio", "ИИИ"), new XElement("age", "25")), new XElement("person", new XAttribute("id", trackId++), new XElement("number", "89526623355"), new XElement("fio", "АМА"), new XElement("age", "32")), new XElement("person", new XAttribute("id", trackId++), new XElement("nunber", "8888888888"), new XElement("fio", "ВВП"), new XElement("age", "55")))));
    doc.Save(fileName);
}
делее мне нужно добавить запись:
public void addxml() {
    string fileName = "base.xml";
    XDocument doc = XDocument.Load(fileName); // находим максимальный pID             
    int maxpId = doc.Root.Elements("person").Max(t = > Int32.Parse(t.Attribute("id").Value));
    XElement person = new XElement("person", new XAttribute("id", ++maxpId), new XElement("number", "88956246548"), new XElement("fio", "BBB"), new XElement("age", "18"));
    doc.Root.Add(person);
    doc.Save(fileName);
}
Не получается определить максимальное значение атрибута id. Что бы потом добавить запись с id+1. Ошибка на "int maxpId = doc.Root.Elements("person").Max(t => Int32.Parse(t.Attribute("id").Value)); " строке- Последовательность не содержит элементов. Как же мне определить id?

Решение задачи: «Не получается определить максимальное значение атрибута id XML»

textual
Листинг программы
public void addxml() {
            string fileName = "base.xml";
            XDocument doc = XDocument.Load(fileName); // находим максимальный pID
 
            int maxpId = doc.Root.Elements("container").Elements("person").Max(x => Int32.Parse(x.Attribute("id").Value) );
            
            XElement person = new XElement("person", new XAttribute("id", ++maxpId), new XElement("number", "88956246548"), new XElement("fio", "BBB"), new XElement("age", "18"));
            doc.Root.Element("container").Add(person);
            doc.Save(fileName);
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы