【发布时间】:2015-06-15 10:24:59
【问题描述】:
我正在尝试从 XML 文件加载数据并将其添加到列表中。 XML 文件如下所示:
这是我的代码:
public void LoadPayments(List<List<string>> list1, List<List<string>> list2)
{
try
{
if (File.Exists(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "RentData.xml")))
{
int count = 0;
XDocument doc;
using (var reader = XmlReader.Create(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "RentData.xml")))
{
doc = XDocument.Load(reader);
foreach (var dc in doc.Descendants("Rent"))
{
foreach (var dm in doc.Descendants("Month-" + count))
{
foreach (var dm1 in doc.Descendants("Payments"))
{
list1.Add(new List<string>() { dm.Attribute("Rent").Value, dm.Attribute("Water").Value, dm.Attribute("Electricity").Value, dm.Attribute("Internet").Value });
list2.Add(new List<string>() { dm.Attribute("Rent").Value, dm.Attribute("Water").Value, dm.Attribute("Electricity").Value, dm.Attribute("Internet").Value });
}
}
count++;
}
reader.Dispose();
reader.Close();
}
}
else
{
File.Create(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "RentData.xml"));
}
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
我意识到目前代码非常混乱,但我一直在尝试各种方法来让它工作。如果有人可以帮助我弄清楚如何获取属性并将它们添加到两个不同的列表中,将不胜感激!谢谢!
【问题讨论】:
-
如果需要任何额外信息,请告诉我,我会尽力提供! :D
-
什么不起作用?您在最内层循环中使用 dm 而不是 dm1