Я экспериментировал с LINQ to XML сегодня, но не очень успешно.Когда я использую пространство имен, я не получаю никаких данных.
Вот (упрощенный) xml:
<?xml version="1.0" encoding="UTF-8" ?>
<Message xmlns="urn:protocols:format13">
<data>
testdata
</data>
</Message>
Я пытаюсь получить данные с помощью (xmlmsg - строка):
XElement root = XElement.Parse(xmlmsg);
XNamespace ns = root.Attribute("xmlns").ToString();
List<XElement> datalist =
(from desc in root.Descendants(ns + "data")
select desc).ToList<XElement>();
Но список данных остается пустым.Если я не использую пространство имен, оно работает.
Я раньше использовал XmlReader, который отлично работал с пространствами имен.Но так как мои XML-данные становятся немного сложными для анализа, я хотел использовать LINQ.
Есть какие-нибудь подсказки?