2012-02-03 56 views
1

我试图解析的“消息”元素了使用LINQ to XML下面的XML片段,但由于某种原因,它不工作:我试图使用LINQ解析XML片段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> 

我敢肯定,我错过了一些愚蠢的东西。

+1

提供源代码 – 2012-02-03 17:49:12

回答

2

那么你的代码是怎么样的呢?这是你期待的结果,你会得到哪一个结果,如果你在发布错误消息的时候发生错误。该片段有一个命名空间,以便确保选择元素时,你做这样的事情:

XElement error = XElement.Parse(fragment); 
XNamespace df = error.Name.Namespace; 
XElement msg = error.Element(df + "message");. 
0

我想通了!基本上,你必须使用默认的命名空间,如下所示:

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

     var ns = element.GetDefaultNamespace(); 

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

只有当片段是一个单一的元素的作品。 – rainabba 2013-10-07 21:30:14