C#生成XML的三种途径
来源:互联网 发布:淘宝详情页排版软件 编辑:程序博客网 时间:2024/05/17 07:01
为了全面,这里都将XML保存到文件中,有三种生成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文件,就是这么一句话。
}
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的生成。
http://www.cnblogs.com/winvay/archive/2008/10/28/1321400.html- C#生成XML的三种途径
- C#生成XML的三种途径
- C#生成XML的三种途径
- C#生成XML的三种途径
- C#生成XML的三种途径
- C#生成XML的三种途径
- C#生成XML的三种途径小结
- C#中生成XML的三种方法
- 做职场牛人的三种途径
- 操作数据库的三种途径
- 操作数据库的三种途径
- 三种操作数据库的途径
- 获取Filter的三种途径
- 获取Filter的三种途径 收藏
- 积累编程经验的三种途径
- 增加编程经验的三种途径
- 三种验证码的识别途径
- JVM内存查看的三种途径
- 浅析C语言的一个关键字——register
- Linux下cronolog安装配置
- 读取txt文本中的值 用gridview显示
- Linux 远程copy
- Oracle数据库分区表操作方法
- C#生成XML的三种途径
- SQL 语句
- Windows下编译sqlite3生成动态链接库并使用
- [Hook]个人学习笔记——挂个简单的钩子(全局鼠标Hook)(.NET)
- 《Object-Oriented Programming With ANSI-C》之第四章(继承——代码重用和改进)
- lR关联功能总结
- 一次上传多个文件机制的两种解决方案_winvay
- C#版ssl链接(工行查询接口的实现)
- 数据库在每天定时执行一个存储过程