abc.xml 里面只有一个父节点 <person></person>!  在test.aspx页面上 我有三个文本框 名字是 name age  city
还有一个按钮 当我点击按钮时  在三个文本框里的值保存到abc.xml里面! 
而且abc.xml自动在父节点下面生成三个节点 name age city  就如这样
<person>
<name> aa </name>
<age> 24 </age>
<city> china </city>
</person>
这个怎么实现啊  求解答~~~~~~

解决方案 »

  1.   

    XmlDocument.Load
    XmlDocument.Save
      

  2.   

    dataset ds=new dataset;
    ds.ReadXml(xml文件路径)
    比如
    <?xml version="1.0" encoding="UTF-8"?>
    <a>子节点</a>
    <b></b>
    这样dataset中就有两个datatable。
      

  3.   

    protected void Button1_Click(object sender, EventArgs e)
        {
            XElement root = XElement.Load(Server.MapPath("~\\abc.xml"));
            root.Add(new XElement("name", name.Text),
                new XElement("age", age.Text),
                new XElement("city", city.Text));
            root.Save(Server.MapPath("~\\abc.xml"));
        }
      

  4.   

    我的代码已经涉及到 xml文件的载人和写入,也已经满足你题目的要求。using System.Xml.Linq;一下就好了。
      

  5.   

    http://blog.csdn.net/jsyhello/article/details/6892670
    xml读写的源代码
      

  6.   

    恩 感谢4楼的 写入我已经可以了!就是用dataset读取 是怎么写的啊 读取能不能详细点
      

  7.   


      XmlDocument xmlDoc = new XmlDocument();
                    xmlDoc.Load("***.xml");
                    XmlNode list = xmlDoc.SelectSingleNode("person");
                    foreach (XmlNode node in list)
                    {
                        if (node.Name == "name"||node.Name="age"||node.Name="city")
                        {
                            Console.Write(xml.InnerText);
                         }
                    }
      

  8.   


    <?xml version="1.0" standalone="yes"?>
    <makeCall>
      <vos ID="a" PWD="b" IP="c" NAME="d" />
      <vos ID="a1" PWD="b1" IP="c1" NAME="d1" />
    <makeCall/>读取:
    string mapPath = "MakeCall.xml";
    DataSet ds = new DataSet();
    ds.ReadXml(mapPath);
    dgvIP.DataSource = ds.Tables[0];删除:
     string id = dgvqian.SelectedRows[0].Cells["dataGridViewTextBoxColumn1"].Value.ToString();
                        DataSet dsDel = new DataSet();
                        dsDel.ReadXml(mapPath);
                        try
                        {
                            foreach (DataRow Dr in dsDel.Tables[0].Select("SELECTNO='" + id + "'"))
                            {
                                Dr.Delete();
                            }
                        }
                        catch { }
    修改:
    ds.AcceptChanges();
    ds.WriteXml(mapPath);增加:
    doc.Load(mapPath);
                XmlNode node = doc.SelectSingleNode("makeCall");
                XmlElement element = doc.CreateElement("callNo");
                element.SetAttribute("ID", textBox6.Text.Trim());
                element.SetAttribute("VALUE", textBox7.Text.Trim());
                element.SetAttribute("SELECTNO", txtqianID.Text.Trim());
                node.AppendChild(element);
                doc.Save(mapPath);
                MessageBox.Show("添加成功");
      

  9.   

    +1论坛签名======================================================================qf19881213:你好!
    截至 2011-10-26 21:04:17 前:
    你已发帖 12 个, 未结贴 0 个;
    结贴率为: 100.00%

    当您的问题得到解答后请及时结贴.

    http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
    http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
    http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html如何给分和结贴?
    http://community.csdn.net/Help/HelpCenter.htm#结帖如何给自己的回帖中也加上签名?
    http://blog.csdn.net/q107770540/archive/2011/03/15/6250007.aspx
      

  10.   

    读取也可以了 
    不过我在前台用<%# Eval("name")%>绑定
    报System.Data.DataRowView”不包含名为“name”的属性 这是怎么解决啊 我xml里是有name的节点的啊