我想通過這個XML:的XElement迭代將無法正常工作
<result>
<diaryelement>
<diary_uid>86248040</diary_uid>
<diary_date>1347274789</diary_date>
<diary_type>0</diary_type>
<diaryshortitem>
<itemid>419</itemid>
<data>...</data>
<description>...</description>
</diaryshortitem>
</diaryelement>
</result>
,我使用了迭代的代碼是:
XElement diary = XElement.Parse(e.Result);
IEnumerable<XElement> diaryelements = diary.Descendants("result");
Debug.WriteLine("No error");
foreach (XElement diaryelement in diaryelements)
{
Debug.WriteLine(diaryelement.Value);
Debug.WriteLine((string)diaryelement.Element("diaryelement").Element("diaryshortitem").Element("description").Element("data").Value);
}
Debug.WriteLine("Loop ended");
但是方法似乎跳過迭代我不知道爲什麼。
你是什麼意思? – Clue
「結果」不是後代。試試diary.DescendantsAndSelf。你會在循環中得到錯誤,但這會讓你進入循環,所以你可以從那裏去。 –
當我與DescendantsAndSelf一起嘗試時,我得到一個空指針。即使當我從Element(「結果」)開始時,也是如此。 – Clue