当前位置:  编程技术>.net/c#/asp.net

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

    来源: 互联网  发布时间:2014-10-21

    本文导语:  1。我认为是最原始,最基本的一种:利用XmlDocument向一个XML文件里写节点,然后再利用XmlDocument保存文件。     首先加载要写入的XML文件,但是如果没有的,就要新建,在新建的过程中,要有写入的代码;   代码如下:   ...

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文件的元素;

代码如下:

   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.先初始化一个类,设置属性值

代码如下:

[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实例

代码如下:

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的生成。


    
 
 

您可能感兴趣的文章:

  • c#如何生成Excel(.xls和.xlsx)文件
  • C# Guid.NewGuid生成随机数的例子
  • C#生成随机字符串的实例
  • C#随机生成Unicode类型字符串
  • c#生成随机数示例分享
  • C#实现在两个数字之间生成随机数的方法
  • c# 生成随机时间的小例子
  • 生成不重复随机数列表的c#代码
  • C#生成注册码的小例子
  • C#生成MD5的函数代码
  • C#实现动态生成表格的方法
  • C#生成不重复随机数列表实例
  • C#生成设置范围内的Double类型随机数的方法
  • C#生成单页静态页简单实例
  • C#生成加密的16位随机数的代码
  • 一段C#生成随机验证码的代码
  • 基于C#生成随机数示例
  • c#生成缩略图的实现方法
  • c#生成缩略图不失真的简单示例
  • asp.net(c#) 使用Rex正则来生成字符串数组的代码
  • C#随机生成不重复字符串的两个不错方法
  • C#导出生成excel文件的方法小结(xml,html方式)
  • sqlserver数据库主键的生成方式小结(sqlserver,mysql)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux c下利用srand和rand函数生成随机字符串
  • 用JBuilder能将java程序生成exe可执行文件吗?如何生成?
  • Linux下c基于openssl生成MD5的函数
  • 我想问一下,java生成的.class文件能不能通过某种工具生成.exe文件?
  • linux下利用(cat,strings,head,sed)命令生成随机字符串
  • 高分求jsp中动态生成图片的相关资料、生成svg格式和pdf格式的资料,不够再加分
  • php中session_id()函数详细介绍,会话id生成过程及session id长度
  • 如何使用arm-uclibc-gcc将.c文件编译生成.a,将.c文件编译生成.cgi?
  • linux c 生成随机数srand函数和rand函数介绍及代码示例
  • 如何指定用javac编译生成类的存放路径。(最好不要告诉我再生成之后再把文件流重新到出这种)
  • ORACLE中DBMS_RANDOM随机数生成包
  • QT Designer生成的代码不能生成可执行程序
  • Linux下c/c++开发之程序崩溃(Segment fault)时内核转储文件(core dump)生成设置方法
  • 需要从数据库中动态生成的页面是该在SERVLET输出生成,还是应该在JSP编码实现?
  • java生成字母数字组合的随机数示例 java生成随机数
  • 请问我用程序如何编辑Adobe Acrobat 5.0的pdf文件(生成报表)啊?或者如何才能将已生成的execl报表转换成pdf格式?
  • 请问用POI生成Excel文件时,怎么能生成边框线条等?
  • php生成短网址 仿微博短网址生成代码
  • 在JB自己生成的EJB客户端的测试代码中都会自动生成,象String url = "t3://localhost:7001";这样的,请问:
  • java随机生成字符串(字符随机生成类 生成随机字符组合)
  • 我在SRC目录下写好的源程序,我怎样能写个脚本把写好的源程序放在BIN下呢?另外我想把该程序的输出结果(生成了几个文件),生成到out目录下,


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3