xmlTextReaderを使用してxmlファイルを読み取り、それをリストに保存しようとしていますが、この厄介な小さなエラーを克服するのに苦労しています。もう少し説明させてください:
ファイルのすべてのノードをXmlNodeListに保存し、foreachループを使用して各ノードを読み取り、このクラステンプレートを使用してリストに追加します。
public class getGamesList
{
public int id { get; set; }
public string title { get; set; }
public string release { get; set; }
public string platform { get; set; }
}
メインコードは次のとおりです。
List<getGamesList> list = new List<getGamesList>();
String URLString = "http://thegamesdb.net/api/GetGamesList.php?name="+name;
XmlTextReader tr = new XmlTextReader(URLString);
XmlDocument xml = new XmlDocument();
xml.Load(tr);
XmlNodeList xnList = xml.SelectNodes("/Data/Game");
foreach (XmlNode xn in xnList)
{
list.Add(new getGamesList()
{
id = Convert.ToInt32(xn["id"].InnerText),
title = xn["GameTitle"].InnerText,
release = xn["ReleaseDate"].InnerXml,
platform = xn["Platform"].InnerText
});
}
コードは、「ReleaseDate」ノードが欠落している3番目のxml要素まで正常に機能します。ありません。したがって、エラーがスローされます。
ノードを読み取る前に、ノードが存在するかどうかを確認する方法を検討する必要があることはわかっていますが、少し混乱しています。これまでのところ成功したものはありません。誰かアイデアはありますか?ありがとう。