У меня есть следующий метод синтаксического анализа XMLElements:элемента XML и пространство имен
DisplayMessages(XElement root)
{
var items = root.Descendants("Item");
foreach (var item in items)
{
var name = item.Element("Name");
....
}
}
В режиме отладки, я могу видеть корень как XML, как это:
<ItemInfoList>
<ItemInfo>
<Item>
<a:Name>item 1</a:Name>
...
<Item>
...
и имя вар равно нулю (Я ожидаю получить «пункт 1»). Я попытался использовать «a: Name», но вызвал исключение («символ: нельзя использовать в имени»). Я не уверен, что мне нужно задать пространство имен в корневом XElelement или нет. Все узлы xml под root должны находиться в одном и том же пространстве имен.
Я новичок в XElement. В моих кодах элемент item.Element («Имя») получит значение его дочернего узла «Имя», верно?
Является ли 'root' здесь фактическим корневым узлом XML? I.e., является ли ваш XML-фрагмент полным документом XML, который вы получаете? Если да, то это просто недействительный XML. –