wpf+xml实现的一个随机生成早晚餐的小demo

   话说每到吃完的时间就发愁,真的不知道该吃什么,然后就想到做一个生成吃什么的小软件,既然这个软件如此的简单,就打算用wpf开发吧,也不用数据库了,直接保存在xml中就可以了

 程序整体结构如下图

 首先我写了一个xml的帮助类,主要是写了个常用的增加方法

主程序界面也很简单,一共就两个页面

对应的两处代码也粘上

 private void Button_Click_1(object sender, RoutedEventArgs e)
        {

            string path = Common.GetServerPath() + "\\food.xml";
            DataSet ds = new DataSet();
            ds.ReadXml(path);
            DataTable table = ds.Tables[0];
            DataRow[] tableZao = table.Select("type='早餐'");
            DataRow[] tableZhong = table.Select("type='午餐'");
            DataRow[] tableWan = table.Select("type='晚餐'");
            Random num = new Random();
            int temp = num.Next(table.Rows.Count);

            int temp1 = num.Next(tableZao.Length);
            int temp2 = num.Next(tableZhong.Length);
            int temp3 = num.Next(tableWan.Length);


            lblZao.Content = tableZao[temp1][1];
            lblZhong.Content = tableZhong[temp2][1];
            lblWan.Content = tableWan[temp3][1];
        }
View Code

 

XmlHelper xh = new XmlHelper();
            string path = Common.GetServerPath() + "\\food.xml";

            Hashtable ht = new Hashtable();
            string name = txtName.Text;
            string type = cbType.Text;

            XmlDocument xmldoc = new XmlDocument();
            xmldoc.Load(path);
            XmlNode node = xmldoc.SelectSingleNode("foods");
            int id = 0;
            if (node==null)
            {
                id = 1;
            }
            else
            {
                XmlNode node2= node.LastChild;
                //foreach (XmlNode item in node2.ChildNodes)
                //{
                //    MessageBox.Show(item.Name[0]+":"+item.InnerText);
                //}
                id = Convert.ToInt32(node2.FirstChild.InnerText) + 1;
            }

            ht.Add("id", id);
            ht.Add("name", name);
            ht.Add("type", type);
            ht.Add("last", "1900-01-01");

            xh.InsertNode(path, "food", false, "foods", null, ht);
            MessageBox.Show("保存成功");
         
        }
View Code

功能很简单,代码也很简单,拿出来分享一下,大家勿喷啊,不过vs2012打包发布倒是挺麻烦的,我下载了一个InstallShield2013LimitedEdition,还是发布不成功,下一篇写一个vs2012打包发布,和大家讨论一下

posted @ 2014-01-16 11:09  晨冬之雪  阅读(514)  评论(0编辑  收藏  举报
百度