向XML追加数据.写入文档的问题:不追加节点
本文关键字:追加 问题 节点 XML 数据 文档 | 更新日期: 2023-09-27 18:02:44
我创建了一个简单的解决方案,它应该将一些写入的数据附加到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");
}
}
您正在创建XmlNodes,但没有将其附加到任何地方。使用AppendChild()
将元素添加到某个位置(可能是xNode
)。
似乎你也想要一个元素<Room>
,你追加的名称,大小和其他属性。