<?xml version="1.0" encoding="utf-8"?>
<info>
<userinfo id="1">
<u1>1</u1>
                  <u2>2</u2>
                  ……
                  ……
                  <u100>100</u100>
</userinfo>
         
         ……
         ……
         <userinfo id="2">
<u1>1</u1>
                  <u2>2</u2>
                  ……
                  ……
                  <u100>100</u100>
</userinfo>
</info>我的页面共有100个textbox,我想一次性将他们插入到xml中。
对于单个数据我知道可以这样:
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load(Server.MapPath("sinple.xml"));
        XmlNode rootnode = xmlDoc.SelectSingleNode("info");
        XmlElement el = xmlDoc.CreateElement("userinfo");
        XmlElement el_p = xmlDoc.CreateElement("u1");//这个节点如何取?
        el_p.InnerText = p;
        el.AppendChild(el_p);
        rootnode.PrependChild(el);
        xmlDoc.Save(Server.MapPath("sinple.xml"));
可是不知道对于100个的for循环该怎么做,请教下大家,谢谢了!

解决方案 »

  1.   


    foreach (Control c in this.Controls)
                {
                    if (c is TextBox) 
                    {
                        //your code here
                    }
                }
      

  2.   


    foreach (Control c in this.Controls)
                {
                    if (c is TextBox) 
                    {
                              XmlElement el_p = xmlDoc.CreateElement("u1");//这个节点如何取?//你这里的id要有自己的映射规则
              }
                }
      

  3.   

    你不是要把textbox里面的值存入xml文件中对应的节里面吗?
    比如textbox1存到u1的节里,
    textbox2存到u2的节里
    ... ...这就要建一个规则对吧,你是不是这个意思???????
      

  4.   

    protected void Button1_Click(object sender, EventArgs e)
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(Server.MapPath("sinple.xml"));
            XmlNode rootnode = xmlDoc.SelectSingleNode("info");
            XmlElement el = xmlDoc.CreateElement("userinfo");       
            for (int i = 0; i < 4; i++)
            {
                string un = "u" + (i + 1);
                XmlElement el_p = xmlDoc.CreateElement(un);
              string  gettb=((TextBox)(this.FindControl("Textbox" + (i + 1).ToString()))).Text.Trim();
              el_p.InnerText = gettb;
              el.AppendChild(el_p);
            } 
            rootnode.PrependChild(el);
            xmlDoc.Save(Server.MapPath("sinple.xml"));
        }测试成功!
      

  5.   

    就像7楼那样吧,
    给textbox起名的时候就按照
    textbox1 对应u1
    textbox2 对应u2
    这样的规则来吧
    要不然就再建一个映射文件!