我正在尝试使用 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
});
}
代码工作正常,直到第 3 个 xml 元素,其中缺少“ReleaseDate”节点。它只是没有。所以抛出一个错误。
我知道我需要在读取节点之前找出一种方法来检查节点是否存在,但是我有点混乱;到目前为止,没有任何事情是成功的。有没有人有任何想法?谢谢。