控件里的数据?隐含着严重的设计bug。控件里保存的是用来显示的东西,例如过一段时间另一成程序员可能将“性别”字段重构为用一个图片显示。如果你要获取数据,去读取数据源。不要从控件去取什么数据。

解决方案 »

  1.   

    不是控件里的数据 我表达有误!  就是如何把从数据库中取出来的结果集写入到XML中
      

  2.   

    XmlDocument doc = new XmlDocument();
                doc.LoadXml("<foods/>");
                XmlElement root = doc.DocumentElement;
               // Console.WriteLine(root.ToString());
                XmlDeclaration xmldecl = doc.CreateXmlDeclaration("1.0", null, null);
                doc.InsertBefore(xmldecl, root);            DataTable foodtable=rMSDBDataSet.Tables["Table_FOOD"];
                DataTableReader reader = foodtable.CreateDataReader();
                if (!reader.HasRows)
                {
                    MessageBox.Show("NO Data!");
                   // return;
                }
                else
                {
                    while (reader.Read())
                    {
                        Console.WriteLine(String.Format("{0},{1},{2}", reader[0].ToString(), reader[2].ToString(), reader[2].ToString()));
                        XmlElement elr = AddChildNode(doc, reader[0].ToString(), reader[2].ToString(), reader[3].ToString());
                        root.AppendChild(elr);
                    }
                    doc.Save("food.xml");
                }
    这是我的一个数据集写xml的代码,根据你的表名及xml的结构可做相应的修改,基本过程是一样的。
      

  3.   

    private static XmlElement AddChildNode(XmlDocument doc,string id,string name,string price)
            {
                XmlElement el = doc.CreateElement("food");
                XmlElement el1 = doc.CreateElement("id");
                XmlNode idtext = doc.CreateTextNode(id);
                el1.AppendChild(idtext);
                XmlElement el2 = doc.CreateElement("name");
                XmlNode nametext = doc.CreateTextNode(name);
                el2.AppendChild(nametext);
                XmlElement el3 = doc.CreateElement("price");
                XmlNode pricetext = doc.CreateTextNode(price);
                el3.AppendChild(pricetext);            el.AppendChild(el1);
                el.AppendChild(el2);
                el.AppendChild(el3);
                return el;        }
    AddChildNode的实现。
      

  4.   

    DataSet ds = new DataSet();
    //Fill(ds);
    ds.WriteXML("filename");