2012-12-24 74 views
1

解析我想解析這個XML:簡單的XML使用LINQ

<?xml version="1.0" encoding="Windows-1252" ?> 
<TEST>Login inexistant</TEST> 

我寫了這個代碼

var result = from item in XElement.Parse(m_strRetour).Descendants("TEST") 
       select item; 
return result.First().ToString(); 

m_strRetour是包含我的XML字符串。

執行後,結果是空的。

我在做什麼錯?

回答

2

TEST似乎是你的根節點,所以它不可能是一個​​。

爲了擺脫它的價值,你可以試試這個。

var xml = "<?xml version='1.0' encoding='Windows-1252' ?><TEST>Login inexistant</TEST>"; 

var result = XElement.Parse(xml); 
var value = result.Value; 
+0

非常感謝它的確定! –

2

XElement.Parse將返回TEST元素本身 - 它不具有任何後代。 (此外,還有在這裏使用查詢表達式沒有益處。當你寫from x in y select x你應該考慮是否你不能只使用y,而不是...)

你可以解析它作爲一個XDocument代替,其中如果有TEST後裔......或者您可以只使用XElement本身。

什麼是你真正想實現,雖然?你的真的 XML只有一個單一的元素?