我尝试使用Linq to XML解析以下XML片段中的“message”元素但由于某种原因它无法正常工作:
<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>
我确信我错过了一些愚蠢的东西。
答案 0 :(得分:2)
你的代码是如何看待的,这是你期望的结果,如果你在发出确切的错误消息后收到错误,你会得到哪一个。该片段具有命名空间,因此请确保在选择元素时执行以下操作:
XElement error = XElement.Parse(fragment);
XNamespace df = error.Name.Namespace;
XElement msg = error.Element(df + "message");.
答案 1 :(得分:0)
我明白了!基本上,您必须使用默认命名空间,如下所示:
var element = XElement.Parse(...);
var ns = element.GetDefaultNamespace();
var message = element.Element(ns + "message").Value;