0
我已經創建了一個XML文件並完美保存。不幸的是,保存的文件不會載入我的表單加載事件。我試圖找出哪裏出了問題,但我仍然不知道如何加載它。你可以幫我嗎?在表單加載事件中加載保存的XML文件
這裏是我的窗體加載事件
string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
if (!Directory.Exists(path + "\\iproject"))
{
Directory.CreateDirectory(path + "\\iproject");
}
if (!File.Exists(path + "\\iproject\\address.xml"))
{
File.Create(path + "\\iproject\\address.xml");
}
XmlTextWriter xw = new XmlTextWriter(path + "\\iproject\\address.xml", Encoding.UTF8);
xw.WriteStartElement("people");
xw.WriteEndElement();
xw.Close();
// load items wen form load event
XmlDocument xdoc = new XmlDocument();
xdoc.Load(path + "\\iproject\\address.xml");
foreach (XmlNode xnode in xdoc.SelectNodes("people/person"))
{
person p = new person();
p.name = xnode.SelectSingleNode("name").InnerText;
p.ipaddress = xnode.SelectSingleNode("ipaddress").InnerText;
people.Add(p);
listBox1.Items.Add(p.name);
}
這是我保存事件有關錯誤
XmlDocument xdoc = new XmlDocument(); // saving listview data to xml file
string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
xdoc.Load(path + "\\iproject\\address.xml");
XmlNode xnode = xdoc.SelectSingleNode("people");
xnode.RemoveAll();
foreach (person p in people)
{
XmlNode xTop = xdoc.CreateElement("person");
XmlNode xname = xdoc.CreateElement("name");
XmlNode xipaddress = xdoc.CreateElement("ipaddress");
xname.InnerText = p.name;
xipaddress.InnerText = p.ipaddress;
xTop.AppendChild(xname);
xTop.AppendChild(xipaddress);
xdoc.DocumentElement.AppendChild(xTop);
}
xdoc.Save(path + "\\iproject\\address.xml");
你第一次嘗試加載XML文件,只是檢查如果你可以看到XML爲字符串? – Yahya 2013-03-12 14:27:05
'RoshiEnd'我實際上建議你粘貼現有XML文件結構的副本,以便可以提供更多有效的答案和/或建議 – MethodMan 2013-03-12 14:36:34