У меня есть XML, который я пытаюсь импортировать с C#, который выглядит примерно так:Как я могу различать разные потомки с тем же именем?
<root>
<run>
<name = "bob"/>
<date = "1958"/>
</run>
<run>
<name = "alice"/>
<date = "1969"/>
</run>
</root>
я загрузить мой XML с помощью
XElement xDoc=XElement.Load(filename);
То, что я хочу сделать, это есть класс для «запуска», в соответствии с которым я могу хранить имена и даты:
public class RunDetails
{
public RunDetails(XElement xDoc, XNamespace xmlns)
{
var query = from c in xDoc.Descendants(xmlns + "run").Descendants(xmlns + "name") select c;
int i=0;
foreach (XElement a in query)
{
this.name= new NameStr(a, xmlns); // a class for names
Name.Add(this.name); //Name is a List<NameStr>
i++;
}
// Here, i=2, but what I want is a new instance of the RunDetails class for each <run>
}
}
Как я могу настроить мой код, чтобы создать новый экземпляр класса RunDetails для каждого < запустить>, и только выбрать имя <> и < дата> внутри заданного пробега <>?
это недопустимо XML ... –