2010-08-18 41 views
0

我想查詢一個XML文件。在查詢 下面返回序列中的第一個元素。想知道如何將序列中的所有元素作爲List來獲取。 rsltQuest是XElement類型的列表。檢索所有元素列表 - LINQ to XML

 
rsltQuest = doc1.Descendants(xmlns + "QUESTION") 
           .Where(t => t.Attribute("ANSWER").Value == "no").ToList();` 


感謝您的建議。 中號

+0

可你還發布XML – 2010-08-20 23:23:32

回答

1

我看到兩個問題,但都應該不會導致的結果是一個元素的列表(只要是具有價值的答案屬性「不」兩個以上的問題元素):

  • 你再打開一個括號。
  • 如果有一個QUESTION元素沒有ANSWER屬性,你可能會得到一個空指針異常。

那麼,你確定數據包含多個ANSYS =「no」的問題嗎? 或者這可能是一個命名空間問題?

編輯:也許你應該嘗試(string)(t.Attribute("ANSWER")) == "no"

+0

感謝。括號是一個錯字。是的,我的XML文件有多個ANSER =「no」的問題。我相信這不是一個命名空間問題。 – BumbleBee 2010-08-18 17:30:56

+1

然後,你將不得不縮小範圍:只是'doc1.Descendants(xmlns +「QUESTION」)'的結果是什麼? – Frank 2010-08-18 17:42:01

+0

給了我doc1中的所有QUESTION元素 – BumbleBee 2010-08-18 17:48:33