2017-03-24 14 views
3

LINQ to XMLを使用してWebサービスから小さなXMLリターンを解析しようとしています。 XMLは、そのようになっていますLINQ to XMLで要素を取得できません

<ns:ResponseTest xmlns:ns="http://websvc.tst.com"> 
    <ns:return>true</ns:return> 
</ns:ResponseTest> 

そして、私は指定された名前の最初の値を読み込む必要があり、この発見のオンライン周りを探し:

var returnValue = XDocument.Parse(xml).Descendants().FirstOrDefault(n => n.Name == "return"); 

をしかし、それはいつものようにnullを考え出すています。私も名前に名前空間を使用しようとしました(名前の上にカーソルを置くと "return")、{名前空間}名前を使用して名前空間を提供することができます)ので、 "{return}"でした。しかしそれも何も返さなかった。

上記のxmlから戻り値を取得するにはどうすればよいですか?

編集:私もここで解決策を試しましたReading data from XML同じことが起こりました。私は特定の要素を見つけることができませんでした。

答えて

4

はこれで試してみてください:

XNamespace ns = "http://websvc.tst.com"; 
var returnValue = XDocument.Parse(xml).Descendants(ns + "return").FirstOrDefault(); 
+0

の修飾されていない部分を取得するためにLocalNameを使用することができます!ありがとうございました! –

3

あなたはそれをやった名前

var returnValue = XDocument.Parse(xml).Descendants() 
          .FirstOrDefault(n => n.Name.LocalName == "return"); 
関連する問題