向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");
        }
    }

向XML追加数据.写入文档的问题:不追加节点

您正在创建XmlNodes,但没有将其附加到任何地方。使用AppendChild()将元素添加到某个位置(可能是xNode)。

似乎你也想要一个元素<Room>,你追加的名称,大小和其他属性。