2012-02-03 55 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