В настоящее время я читаю xml, который имеет множество дочерних узлов и должен привязывать элементы дочерних узлов к gridview. Поэтому я перебираю узлы и добавляю datarows. Но у меня проблема в логике. Я создаю datarow, когда я прохожу через один узел. В этом узле есть 2 элемента. поэтому он сначала петли на первом элементе, и я привязываю этот элемент к строке. В том же цикле я добавляю dt.Rows.Add (dtrow). Таким образом, он добавляет 1 строку с одним элементом. Он снова петли и добавляет второй элемент в совершенно новую строку. Это не верно. Я хочу добавить 2 элемента в одну строку. Как я могу это исправить?логика для добавления datarow в datatable
foreach (XmlNode vers in g)
{
foreach (XmlNode vr in vers)
{
foreach (XmlNode a in vr)
{
dtrow = dt.NewRow();
if (a.Name == "Title")
{
dtrow["Title"] = a.InnerText.Trim();
}
if (a.Name == "Location")
{
dtrow["Location"] = a.InnerText.Trim();
}
dt.Rows.Add(dtrow); // this causes issue.
}
}
}
Я получаю сообщение об ошибке в строке vr.SelectSingleNode ("Title"). InnerText.Trim() в качестве ссылки на объект не установлен в экземпляр объекта. – Happy
Я использую другой подход. Не так же в предыдущем вопросе, как вы упомянули. Я не хотел использовать диспетчер имен. – Happy
@Happy Я упомянул о том, является ли * XML * одним и тем же, а не * подходом *. Итак, XML по-прежнему остается тем же самым? (т. е. XML по-прежнему имеет пространство имён по умолчанию) – har07