话说每到吃完的时间就发愁,真的不知道该吃什么,然后就想到做一个生成吃什么的小软件,既然这个软件如此的简单,就打算用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];}
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("保存成功");}
功能很简单,代码也很简单,拿出来分享一下,大家勿喷啊,不过vs2012打包发布倒是挺麻烦的,我下载了一个InstallShield2013LimitedEdition,还是发布不成功,下一篇写一个vs2012打包发布,和大家讨论一下