我有以下xml,我想獲取具有屬性的節點的值。使用LINQ到XML獲取元素的屬性值
<quiz xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="quiz.xsd">
<mchoice>
<question>What is the capital city of Australia?</question>
<answer>Sydney</answer>
<answer correct="yes">Canberra</answer>
<answer>Melbourne</answer>
<answer>Gold Coast</answer>
</mchoice>
<mchoice>
<question>Launceston is the second largest city in which Australian state?</question>
<answer>Victoria</answer>
<answer>New South Wales</answer>
<answer correct="yes">Tasmania</answer>
<answer>Western Australia</answer>
</mchoice>
</quiz>
public class Question
{
public string QuestionText { get; set; }
public List<string> Answers { get; set; }
public string CorrectAnswer { get; set; }
}
我嘗試下面的查詢,但我在越來越空CorrectAnswer申請
var questions = from docs in _doc.Descendants("mchoice")
let answers = _doc.Elements("answer")
select new Question
{
QuestionText = docs.Element("question").Value,
Answers = docs.Elements("answer").Select(a => a.Value).ToList(),
CorrectAnswer=docs.Elements("answer").Where(x=>x.Attribute("correct").Value=="yes").Select(x=>x)
的例外輸出
- QuestionText,什麼是澳大利亞的首都?
回答名錄
CorrectAnswer堪培拉
向我們展示你想要的結果 –
我已經更新了曲注意 –