当前位置: 首页 > news >正文

知名企业门户网站建设联系电话广州海珠区二手房房价

知名企业门户网站建设联系电话,广州海珠区二手房房价,微信商城在哪里找,建立公司网站()C# 读写xml文件总结C#写入xml文件1、XmlDocument2、DataSet对象里的值来生成XML文件3、利用XmlSerializer来将类的属性值转换为XML文件的元素值。示例#xff1a;写入xml1、创建xml文档2 、增加节点3 、修改节点#xff1a;4 、删除节点c#读取xml文件C#写入xml文件 1、XmlDo… C# 读写xml文件总结C#写入xml文件1、XmlDocument2、DataSet对象里的值来生成XML文件3、利用XmlSerializer来将类的属性值转换为XML文件的元素值。示例写入xml1、创建xml文档2 、增加节点3 、修改节点4 、删除节点c#读取xml文件C#写入xml文件 1、XmlDocument 1。我认为是最原始最基本的一种利用XmlDocument向一个XML文件里写节点然后再利用XmlDocument保存文件。 首先加载要写入的XML文件但是如果没有的就要新建在新建的过程中要有写入的代码 XmlDocument doc new XmlDocument();try{doc.Load(new.xml);}catch{XmlTextWriter xtw new XmlTextWriter(new.xml, Encoding.UTF8);//新建XML文件 xtw.WriteStartDocument();xtw.WriteStartElement(gnode);// gnode根节点 xtw.WriteStartElement(myxm1);// gnode根节点下的元素myxmls xtw.WriteEndElement();xtw.WriteEndElement();xtw.WriteEndDocument();xtw.Close();doc.Load(new.xml);}XmlNode xn doc.DocumentElement;//找到根节点 XmlElement xe doc.CreateElement(myxml2);//在根节点下创建元素如果是属性则用XmlAttribute xe.InnerText 薪薪代码hahaha;//给子节点写入文本节点值 xn.AppendChild(xe);//根节点将其纳入 doc.Save(new2.xml);//利用XmlDocument保存文件}注意点在新建根节点的时候WriteStartElement只能嵌套也就是只能有一个根节点。 2、DataSet对象里的值来生成XML文件 应用到数据库将数据库的DataSet对象里的值来生成XML文件的元素 using (SqlConnection con new SqlConnection(Server.;DataBaseHGSTUDY;uidsa;pwdyao)){con.Open();SqlCommand command new SqlCommand(select * from GL_STUDY, con);command.CommandType CommandType.Text;DataSet ds new DataSet(DATASET);//DATASET将成为XML文件中的根节点名称否则系统将其命名为NewDataSet SqlDataAdapter sda new SqlDataAdapter();sda.SelectCommand command;sda.Fill(ds, DATATABLE);//DATATABLE为所生成XML文件中的子节点名称否则系统将其命名为Table。 ds.WriteXml(dbxml.xml);// DataSet的方法WriteXml将数据写入到XML文件就是这么一句话。如果不保存到文件直接ds.GetXML() }3、利用XmlSerializer来将类的属性值转换为XML文件的元素值。 用一个字符串作为一个XML文档中的xmlAttribute或xmlElement。[其元素或属性由类的定义来设置(xml串行化)] using System;System.xml.Serialization; 先初始化一个类设置属性值 var xmlDoc new XmlDocument(); //Create the xml declaration first xmlDoc.AppendChild(xmlDoc.CreateXmlDeclaration(1.0, utf-8, null)); //Create the root node and append into doc var el xmlDoc.CreateElement(Contacts); xmlDoc.AppendChild(el); // Contact XmlElement elementContact xmlDoc.CreateElement(Contact); XmlAttribute attrID xmlDoc.CreateAttribute(id); attrID.Value 01; elementContact.Attributes.Append(attrID); el.AppendChild(elementContact); // Contact Name XmlElement elementName xmlDoc.CreateElement(Name); elementName.InnerText Daisy Abbey; elementContact.AppendChild(elementName); // Contact Gender XmlElement elementGender xmlDoc.CreateElement(Gender); elementGender.InnerText female; elementContact.AppendChild(elementGender); xmlDoc.Save(test1.xml);建XmlSerializer实例 class XXX { XmlSerializer ser new XmlSerializer(Type.GetType(forxml.truck)); Truck tr new Truck(); tr.ID 1; tr.cheID 赣A T34923;}Serialize方法–完成对类的串行化 XmlTextWriter xtw new XmlTextWriter(myxml.xml,Encoding.UTF8); 用XmlTextWriter 创建一个XML文件 ser.Serialize(xtw, tr); //如果只想显示可以直接ser.Serialize(Console.Out, tr); }xml常用方法 定义xml文档XmlDocument xmlDoc new XmlDocument(); 初始化xml文档xmlDoc.Load(“D:\book.xml”);//找到xml文件 创建根元素XmlElement xmlElement xmlDoc.CreateElement(“”, “Employees”, “”); 创建节点XmlElement xeSub1 xmlDoc.CreateElement(“title”); 查找Employees节点XmlNode root xmlDoc.SelectSingleNode(“Employees”); 添加节点xe1.AppendChild(xeSub1); 更改节点的属性xe.SetAttribute(“Name”, “李明明”); 移除xe的ID属性xe.RemoveAttribute(“ID”); 删除节点titlexe.RemoveChild(xe2); 示例写入xml 1、创建xml文档 public void CreateXMLDocument() {XmlDocument xmlDoc new XmlDocument(); //加入XML的声明段落,?xml version1.0 encodinggb2312?XmlDeclaration xmlDeclar;xmlDeclar xmlDoc.CreateXmlDeclaration(1.0, gb2312, null);xmlDoc.AppendChild(xmlDeclar); //加入Employees根元素XmlElement xmlElement xmlDoc.CreateElement(, Employees, );xmlDoc.AppendChild(xmlElement); //添加节点XmlNode root xmlDoc.SelectSingleNode(Employees);XmlElement xe1 xmlDoc.CreateElement(Node);xe1.SetAttribute(Name, 薪薪代码);xe1.SetAttribute(ISB, 2-3631-4); //添加子节点XmlElement xeSub1 xmlDoc.CreateElement(title);xeSub1.InnerText 学习VS;xe1.AppendChild(xeSub1);XmlElement xeSub2 xmlDoc.CreateElement(price);xe1.AppendChild(xeSub2);XmlElement xeSub3 xmlDoc.CreateElement(weight);xeSub3.InnerText 20;xeSub2.AppendChild(xeSub3);root.AppendChild(xe1);xmlDoc.Save(D:\\book.xml);//保存的路径 }生成的xml文件如下 ?xml version1.0 encodingGB2312? -Employees-Node ISB2-3631-4 Name薪薪代码title学习VS/title-priceweight20/weight/price/Node /Employees2 、增加节点 XmlDocument xmlDoc new XmlDocument(); xmlDoc.Load(D:\\book.xml);//找到xml文件 XmlNode root xmlDoc.SelectSingleNode(Employees);//查找Employees节点 XmlElement xe1 xmlDoc.CreateElement(Node2);//添加Node2节点 xe1.SetAttribute(Name, 张飞); XmlElement xeSub1 xmlDoc.CreateElement(title);//定义子节点 xeSub1.InnerText 心情好; xe1.AppendChild(xeSub1);//添加节点到Node2 root.AppendChild(xe1);//添加节点到Employees xmlDoc.Save(D:\\book.xml);结果 ?xml version1.0 encodingGB2312?-Employees-Node ISB2-3631-4 Name薪薪代码title学习VS/title-priceweight20/weight/price/Node-Node2 Name张三title心情好/title/Node2-Node2 Name张三title心情好/title/Node2 /Employees3 、修改节点 public void ModifyNode() {XmlDocument xmlDocument new XmlDocument();xmlDocument.Load(D:\\book.xml);XmlNodeList nodeList xmlDocument.SelectSingleNode(Employees).ChildNodes;//获取Employees节点的所有子节点foreach (XmlNode xn in nodeList)//遍历{XmlElement xe (XmlElement)xn;if (xe.GetAttribute(Name) 薪薪代码){xe.SetAttribute(Name, 薪薪);//更改节点的属性XmlNodeList xnl xe.ChildNodes;//获取xe的所有子节点foreach (XmlNode xn1 in xnl){XmlElement xe2 (XmlElement)xn1;//将节点xn1的属性转换为XmlElementif (xe2.Name title)//找到节点名字为title的节点{xe2.InnerText 今天天气不好;}if (xe2.Name price){XmlNodeList xnl2 xe2.ChildNodes;foreach (XmlNode xn2 in xnl2){if (xn2.Name weight){xn2.InnerText 88;}}}}}}xmlDocument.Save(D:\\book2.xml); }运行结果: ?xml version1.0 encodingGB2312? -Employees -Node ISB2-3631-4 Name薪薪 title今天天气不好/title-price weight88/weight /price /Node -Node2 Name张三 title心情好/title /Node2/Employees4 、删除节点 public void DeleteNode() {XmlDocument xmlDocument new XmlDocument();xmlDocument.Load(D:\\book1.xml);XmlNodeList xnl xmlDocument.SelectSingleNode(Employees).ChildNodes;foreach (XmlNode xn in xnl){if (xn.Name Node){XmlElement xe (XmlElement)xn;//将xn的属性转换为XmlElementxe.RemoveAttribute(ID);//移除xe的ID属性XmlNodeList xnl2 xe.ChildNodes;for (int i 0; i xnl2.Count; i){XmlElement xe2 (XmlElement)xnl2.Item(i);if (xe2.Name title){xe.RemoveChild(xe2);//删除节点title}}}}xmlDocument.Save(D:\\book3.xml); }结果 ?xml version1.0 encodingGB2312? -Employees -Node ISB2-3631-4 Name薪薪-price weight20/weight /price /Node- Node2 Name张三 title心情好/title /Node2- Node2 Name张三 title心情好/title /Node2 /Employeesc#读取xml文件 xml文件如下 ?xml version1.0 encodingutf-8 ? configurationNServerAddress1143/ServerAddressID192.168/ID/configurationN在写入xml文件时最主要使用了两个方法Load和Save。 Load初始化xml文档以便项目文件获取具体的xml节点的值。 public void Load(string path) {try{XmlDocument xmlDocument new XmlDocument();xmlDocument.Load(path);XmlNodeList xnl xmlDocument.SelectSingleNode(managerNode).ChildNodes;foreach (XmlNode xn in xnl){if (xn.Name configuration_ServerAddress){ServerAddress xn.InnerText;}}}catch(Exception ex){ } }Save在项目系统中进行修改配置文件值后需要对xml进行重新保存 public void Save(string path) {try{XmlDocument xmlDocument new XmlDocument();xmlDocument.Load(path);XmlNodeList xnl xmlDocument.SelectSingleNode(managerNode).ChildNodes;foreach (XmlNode xn in xnl){if (xn.Name configuration_ServerAddress){xn.InnerText ServerAddress;}}xmlDocument.Save(path);}catch (Exception ex){ } }此处将所有代码都贴出来方便下次实现。因为项目是WPF文件而且都是简单控件所以只贴出后台代码。 class ConfigurationManager:INotifyPropertyChanged {public const string managerNode configurationN;//根节点public const string configuration_ServerAddress ServerAddress;//子节点private string _ServerAddress;public string ServerAddress{get { return _ServerAddress; }set{_ServerAddress value;NotifyPropertyChanged(ServerAddress);}}public void Load(string path){try{XmlDocument xmlDocument new XmlDocument();xmlDocument.Load(path);XmlNodeList xnl xmlDocument.SelectSingleNode(managerNode).ChildNodes;foreach (XmlNode xn in xnl){if (xn.Name configuration_ServerAddress){ServerAddress xn.InnerText;}}}catch(Exception ex){ }}public void Save(string path){try{XmlDocument xmlDocument new XmlDocument();xmlDocument.Load(path);XmlNodeList xnl xmlDocument.SelectSingleNode(managerNode).ChildNodes;foreach (XmlNode xn in xnl){if (xn.Name configuration_ServerAddress){xn.InnerText ServerAddress;}}xmlDocument.Save(path);}catch (Exception ex){ }}public event PropertyChangedEventHandler PropertyChanged;private void NotifyPropertyChanged(string propertyName){if (PropertyChanged ! null){PropertyChanged(this, new PropertyChangedEventArgs(propertyName));}}public static ConfigurationManager Instance new ConfigurationManager(); }public partial class MainWindow : Window {public MainWindow(){InitializeComponent();Start();this.tb1.Text ConfigurationManager.Instance.ServerAddress.ToString();}private string path CONFIG\\System.xml;private void button1_Click(object sender, RoutedEventArgs e){ConfigurationManager.Instance.ServerAddress this.tb1.Text;ConfigurationManager.Instance.Save(path);}private void button2_Click(object sender, RoutedEventArgs e){Application.Current.Shutdown();}private void Start(){ConfigurationManager.Instance.Load(path);} }
http://www.tj-hxxt.cn/news/130188.html

相关文章:

  • 如何知道网站有没有备案做淘宝要用到哪些网站
  • 南昌建设企业网站公司吉林最新消息今天新增
  • vps 做网站wordpress图片分页插件下载
  • 网站建设980元wordpress不在根目录
  • 西宁高端网站制作广告设计与制作
  • 一站式商家服务平台知名企业公司
  • 一件代发50个货源网站石家庄百度快照优化排名
  • 大学校园门户网站建设方案江淮网站开发
  • 兰州展柜公司网站建设手机上登录qq网页版
  • 网站开发的实施方案网线制作实训报告
  • 网站制作建设有哪些旅游系统
  • 牙科医院网站推广方案网站建设实战教程
  • 花店网站建设量力商务大厦网站建设
  • 网站流量统计表北京建设网经济适用房
  • 教你做兼职的网站百度搜索官方网站
  • 企业营销型网站的内容成都广告公司排行榜
  • 赣州网站制作百度网盘资源搜索引擎搜索
  • 高质量的合肥网站建设建筑模型设计网站建设
  • 中国航空集团建设开发有限公司网站seo点击排名软件营销工具
  • 怎么写网站文案管理系统 网站模板
  • 成都专业网站建设公司上海注册公司扶持政策
  • 纯jsp做的留言板网站网站被k 多久恢复
  • 网站建设j介绍ppt棋牌app开发需要多钱
  • 婚纱网站模板杭州网络公司建网站
  • 网站开发技能证书做同性恋的珠宝网站
  • 网站页面如何设计企业文化墙设计网站推荐
  • 网站开发微信登录流程网站开发需要掌握哪些知识
  • nas做流媒体网站怎样建设手机网站
  • 老外做牛排的视频网站深圳积分商城网站设计
  • 那个网站可以兼职做效果图网站怎样改logo