Я разработал небольшой xml-анализатор для конкретного файла с такой структурой данных:
<questionnaire type="Echo">
<quest etat="0" ord="0">
<intro>
<t>bla bla bla</t>
</intro>
<rep1>
<t>word</t>
<ev id="Q0R1"/>
</rep1>
<rep2>
<t>word</t>
<ev id="Q0R2"/>
</rep2>
</quest>
</questionnaire>
Тег <quest></quest>
фактически повторяется 70 раз.
Вот синтаксический анализатор, который я разработал на C # и который принимает параметр "xmlString", содержащий XML, для анализа:
XmlTextReader reader = new XmlTextReader(new System.IO.StringReader(xmlString));
while(reader.ReadToFollowing("quest"))
{
Console.WriteLine("=================================");
Console.WriteLine("ID : " + reader.GetAttribute("ord").ToString());
reader.ReadToFollowing("intro");
reader.ReadToFollowing("t");
Console.WriteLine("TEXTE : " + reader.ReadString());
reader.ReadToFollowing("rep1");
reader.ReadToFollowing("t");
Console.WriteLine("REPONSE1 : " + reader.ReadString());
reader.ReadToFollowing("ev");
Console.WriteLine("CLE1 : " + reader.GetAttribute("id").ToString());
reader.ReadToFollowing("rep2");
reader.ReadToFollowing("t");
Console.WriteLine("REPONSE2 : " + reader.ReadString());
reader.ReadToFollowing("ev");
Console.WriteLine("CLE2 : " + reader.GetAttribute("id").ToString());
Console.WriteLine("ETAT : False");
}
Все в порядке в первом 69-м , но при достижении 70-го поля TEXTE и REPONSE1 пустые и проходят через NullReferenceException в строке:
Console.WriteLine("CLE1 : " + reader.GetAttribute("id").ToString());
Может кто-нибудь сказать мне, что не так ??
Заранее спасибо.