我创建了一个简单的解决方案,它应该将一些书面数据附加到XML文件中。
当用户将信息输入房间并点击“添加空间”时,它应该将该信息写入XML文件,但它无法正常工作。
private void button2_Click(object sender, EventArgs e)
{
Room r = new Room();
r.RoomName = txtRoomName.Text;
r.Length = numLength.Text;
r.Width = numWidth.Text;
r.TotalArea = txtArea.Text;
r.Quality = comboQuality.Text;
r.RoomPrice = txtRoomPrice.Text;
//Once these are set, we need to add this info to the Room List.
rooms.Add(r);
listView1.Items.Add(r.RoomName);
XmlDocument xDoc = new XmlDocument();
string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
xDoc.Load(path + "\\info.xml");
XmlNode xNode = xDoc.SelectSingleNode("rooms");
foreach (Room x in rooms)
{
XmlNode xHeader = xDoc.CreateElement("Room_Name");
XmlNode xLength = xDoc.CreateElement("Length");
XmlNode xWidth = xDoc.CreateElement("Width");
XmlNode xArea = xDoc.CreateElement("Area");
XmlNode xQuality = xDoc.CreateElement("Quality");
XmlNode xRoomPrice = xDoc.CreateElement("Room_Price");
xHeader.InnerText = r.RoomName;
xLength.InnerText = r.Length;
xWidth.InnerText = r.Width;
xArea.InnerText = r.TotalArea;
xQuality.InnerText = r.Quality;
xRoomPrice.InnerText = r.RoomPrice;
xDoc.Save(path + "\\Address Book - User\\info.xml");
}
}
答案 0 :(得分:1)
您正在创建XmlNodes,但不会将其附加到任何位置。使用AppendChild()
在某处添加元素(可能xNode
)。
您似乎还想要一个元素<Room>
,您可以在其中附加名称,大小和其他属性。