Я пытаюсь разобрать фрагмент XML с Linq в XML - PullRequest
1 голос
/ 03 февраля 2012

Я пытаюсь проанализировать элемент «message» из следующего фрагмента XML, используя Linq to XML, но по какой-то причине он не работает:

<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
    <code/>
    <message xml:lang="en-US">Bad Request - Error in query syntax.</message>
</error>

Я уверен, что мне не хватает чего-то глупого.

Ответы [ 2 ]

2 голосов
/ 03 февраля 2012

Хорошо, как выглядит ваш код, какой результат вы ожидаете, какой вы получите, если вы получите сообщение об ошибке с точным сообщением об ошибке. Фрагмент имеет пространство имен, поэтому убедитесь, что при выборе элементов вы делаете что-то вроде этого:

XElement error = XElement.Parse(fragment); 
XNamespace df = error.Name.Namespace; 
XElement msg = error.Element(df + "message");.
0 голосов
/ 04 февраля 2012

Я понял это!По сути, вы должны использовать пространство имен по умолчанию, как показано:

        var element = XElement.Parse(...);

        var ns = element.GetDefaultNamespace();

        var message = element.Element(ns + "message").Value;
...