正文

asp.net笔记(13)2008-04-01 20:52:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/ghlat520/33804.html

分享到:

 第十三章:Web应用程序包                              打包需要解决两点                              1)打包之后的网站中应该没有源文件(*.cs)                              2)打包过程中应该把DotnetFrameworker打包进去,这样在安装过程                                会自动识别目标计算机上是否有fw,如果没有则首先安装fw                              打包的步骤:                               1)安装WebDeployment。这是微软公司为了弥补vs2005自动的web打包而                                 发布一个插件,它可以把一个网站进行编译,其结果是没有源文件也可以运行                               2)创建一个web应用程序                               3)对准web应用程序单右-->add WebDeployment Project,确定                               4)选择WebDeployment Project单右-->生成,就可以生成一个没有*.cs的网站                               5)添加一个Web安装项目                               6)选中Web安装项目按F4,弹出属性窗口,在其中输入安装项目的信息,包含:安装的标题,软件的作者等等                               7)选中Web安装项目按单右-->属性-->系统必备--->选择"从与我应用程序相同的位置下载系统必备组件                               8)选中"web应用程序文件夹"--->单右-->添加-->项目输出-->选择以前通过WebDeployment Project生成的项目-->确定                               9)选中Web安装项目按单右-->生成--->在生成的文件夹的Debug文件夹中会看到                                 dotnetfx,setup.exe.WeijinSetUp.msi三个安装文件                               10)把这三个安装文件刻成光盘,安装到目标文件就可                                              第十四章 xml文件的操作               1)在asp.net中要操作xml文件有三种方式               2)xmldocument类,xmlTextReader,xmlTextWriter类,DataSet类                                xmldocument类              1:xmldocument实际上利用xml文档对像模型(dom)对xml进行操作            2:工作原理是把xml文档中的全部内容读到内存中,形成一个xml文档树             3:通过dom能够对xml文档进行增加,删除,修改等操作            4:缺点是如果文档非常大的话,则会导致内存资源不足的问题            有如下的xml文件:                 <?xml version="1.0" encoding="utf-8" ?>  <studs>    <stud>       <id>S1</id>       <name OtherName="二狗">张三</name>        <age>20</age>                 </stud>                 <stud>                       <id>S2</id>                       <name>李四</name>                       <age>34</age>                </stud>                <stud>                       <id>S3</id>                       <name>小张</name>                       <age>20</age>                </stud>            </studs>                         document                           |                           |                   --------------------                  |       |                   xml              studs                                     |                                     |                             ------------------------------------                             |                 |                |                            stud              stud            stud                             |                                       |                                        -----------                                     |    |    |                         id   name age                        |    |    |                        S1  张三  20               读文件:                   XmlDataDocument doc = new XmlDataDocument();               string path = Environment.CurrentDirectory;                   doc.Load(path + "\\XMLFile1.xml");                   XmlElement root =doc.DocumentElement;//得到文档的根                   foreach (XmlNode StudNode in root.ChildNodes)                     {                         string id = StudNode.ChildNodes[0].FirstChild.InnerText;                         string name = StudNode.ChildNodes[1].FirstChild.InnerText;                         string age = StudNode.ChildNodes[2].FirstChild.InnerText;                         ListViewItem lv = new ListViewItem(id);                         this.listView1.Items.Add(lv);                         lv.SubItems.Add(name);                         lv.SubItems.Add(age);                   }            增加文件:                 XmlDocument doc = new XmlDocument();              string path =Environment.CurrentDirectory + "\\XMLFile1.xml";              doc.Load(path);             XmlElement root = doc.DocumentElement;             XmlNode StudNode=doc.CreateNode(XmlNodeType.Element, "stud", "");              XmlNode IdNode = doc.CreateNode(XmlNodeType.Element, "id", "");                 IdNode.InnerText = "S99";              XmlNode NameNode = doc.CreateNode(XmlNodeType.Element, "name", "");              NameNode.InnerText = "小二";             XmlNode AgeNode = doc.CreateNode(XmlNodeType.Element, "age", "");              AgeNode.InnerText ="67";              StudNode.AppendChild(IdNode);             StudNode.AppendChild(NameNode);             StudNode.AppendChild(AgeNode);             root.AppendChild(StudNode);             doc.Save(path);            修改文件:                          XmlDataDocument doc = new XmlDataDocument();               string path = Environment.CurrentDirectory;              doc.Load(path + "\\XMLFile1.xml");              XmlElement root =doc.DocumentElement;               root.ChildNodes[0].ChildNodes[0].FirstChild.InnerText = "S7";              doc.Save(path + "\\XMLFile1.xml");                 删除文件:                    XmlDataDocument doc = new XmlDataDocument();                 string path = Environment.CurrentDirectory;                    doc.Load(path + "\\XMLFile1.xml");                    XmlElement root =doc.DocumentElement;                    root.RemoveChild(root.ChildNodes[0]);                    doc.Save(path + "\\XMLFile1.xml");            读取属性:                  XmlDataDocument doc = new XmlDataDocument();             string path = Environment.CurrentDirectory;             doc.Load(path + "\\XMLFile1.xml");             XmlElement root =doc.DocumentElement;             string st=root.ChildNodes[0].ChildNodes[1].Attributes["OtherName"].InnerText;            MessageBox.Show(st);                   xmlTextReader类          1) 这个类提供一个只读的访问xml文件的方式,相当于利用dom而言,非常快速,但是它只能够             读,不能修改,要修改可以利用xmlTextWriter类          2) 不论是xmlTextReader类还是xmlTextWriter类,它们对xml操作必须是从头到尾进行操作,也             就是说如果你想操作第100个节点的内容,它们都会从第一个节点一步一步移到100个节点之后才             能进行操作,这个与xmlDocumnet的处理机制完全不一样,所以xmlTextWriter非常不适合于修改                        读文件:   string path=Environment.CurrentDirectory+"\\XMLFile1.xml";             XmlTextReader xtr = new XmlTextReader(path);              while (xtr.Read())               {   if (xtr.HasAttributes)                     {                            MessageBox.Show(xtr.GetAttribute(0));                     }                         if (xtr.NodeType == XmlNodeType.Element && xtr.Name == "id") //读id                    {                             if (xtr.Read())                             {                                MessageBox.Show(xtr.Value);                              }                         }                   }                   xtr.Close();                 }              写文件:             XmlTextWriter xmlwrite = new XmlTextWriter("..\\..\\XMLFile.xml",Encoding.Default);             xmlwrite.Formatting = Formatting.Indented; //设置换行标志             xmlwrite.WriteStartDocument();//写入开始位置            xmlwrite.WriteStartElement("peoples");//写入没有值的节点            xmlwrite.WriteStartElement("people");//写入没有值的节点            xmlwrite.WriteElementString("姓名", "张三");//写入有值的节点             xmlwrite.WriteEndElement();//为没有值的节点,写入结束标记             xmlwrite.WriteEndElement();//为没有值的节点,写入结束标记             xmlwrite.Flush();//把缓冲区的内容,真正的写入到文件中去            xmlwrite.Close();//关闭,以释放资源                                                                                                                           DataSet类           读文件:                   string path = Environment.CurrentDirectory + "\\XMLFile1.xml";                DataSet ds = new DataSet();                   ds.ReadXml(path);                   DataTable dt = ds.Tables[0];                   string st = dt.Rows[i][j].ToString();           增加:              string path = Environment.CurrentDirectory + "\\XMLFile1.xml";              DataSet ds = new DataSet();              ds.ReadXml(path);              DataTable dt = ds.Tables[0];              DataRow dr = dt.NewRow();              dr[0] = "S8";              dr[1] = "爸爸";              dr[2] = "45";              dt.Rows.Add(dr);              ds.WriteXml(path);          修改:            string path = Environment.CurrentDirectory + "\\XMLFile1.xml";            DataSet ds = new DataSet();            ds.ReadXml(path);            DataTable dt = ds.Tables[0];            DataRow dr = dt.Rows[0];            dr[0] = "S8";            dr[1] = "爸爸";            dr[2] = "45";            ds.WriteXml(path);             三种方法总结:              1)如果操作的xml文件的结构与数据表相似,则优先考虑使用dataset              2)如果操作的xml文件的结构与数据表不相似:                     A:如果要读:则使用xmlTextReader对像                     B:如果要修改:则使用xmlDocument对像                               高级编程          实现客户端无刷新加传                                           

阅读(2823) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册