源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C#生成XML的三种途径小结

  • 时间:2020-08-16 08:12 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#生成XML的三种途径小结
1。我认为是最原始,最基本的一种:利用XmlDocument向一个XML文件里写节点,然后再利用XmlDocument保存文件。     首先加载要写入的XML文件,但是如果没有的,就要新建,在新建的过程中,要有写入的代码;  
[u]复制代码[/u] 代码如下:
            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文件的元素;
[u]复制代码[/u] 代码如下:
   using (SqlConnection con = new SqlConnection("Server=.;DataBase=HGSTUDY;uid=sa;pwd=yao"))             {                 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; 3.1.先初始化一个类,设置属性值
[u]复制代码[/u] 代码如下:
[XmlRoot("Truck")]                 //----设置作为XML中的根元素名称           public Truck()            { }                      [XmlAttribute("id")]         //--------设置作为xml中的属性             public int ID                 {                         get{return this._id;}                  set { this._id = value; }                }               [XmlElement("chepai")]         //------设置作为XML中的元素(默认状态)           public string cheID            {                       get {                 return this._cheID;             }                     set {                 this._cheID = value;             }                }                private int _id = 0;          private string _cheID = "";  
3.2.创建XmlSerializer实例
[u]复制代码[/u] 代码如下:
class XXX {                  XmlSerializer ser = new XmlSerializer(Type.GetType("forxml.truck"));                   Truck tr = new Truck();                     tr.ID = 1;                    tr.cheID = "赣A T34923";            }
3.3.Serialize方法--完成对类的串行化             XmlTextWriter xtw = new XmlTextWriter("myxml.xml",Encoding.UTF8);          用XmlTextWriter 创建一个XML文件             ser.Serialize(xtw, tr);                如果只想显示,可以直接ser.Serialize(Console.Out, tr); } 个人总结,这里只叙述了三种方法,灵活应用后会很好,直接输入,或通过数据库或类都可以。可以用来在C#中对XML的生成。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部