`
isiqi
  • 浏览: 16593259 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

C#生成XML的三种途径

阅读更多

为了全面,这里都将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的生成。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/nuey1985/archive/2009/07/21/4365932.aspx

分享到:
评论

相关推荐

    c# 操作XML 技术

    XML DOM 方式是最原始的一种操作 XML 的途径,从 .NET Framework 1.0 开始就开始支持 DOM 方式。 1.1 如何以 DOM 方式加载 XML 要读取 XML 首先要加载 XML,加载的方式有两种,一种是从流或类似的 Reader 加载,...

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

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

    学习中写的C#操作xml文件工程,用的原生xml相关类

    在本项目中,我们主要探讨的是如何使用C#语言来操作XML文件,特别是利用.NET框架提供的原生XML类库。XML(eXtensible Markup Language)是一种用于存储和传输数据的标准化格式,常用于应用程序之间的数据交换。在C#...

    C# XML 入门经典随书源码 WebService开发必备

    在IT行业中,C#是一种广泛使用的编程语言,尤其在Windows应用程序和.NET框架的开发中扮演着核心角色。XML(eXtensible Markup Language)则是一种数据交换和存储的标准格式,常用于不同系统间的通信和数据传输。...

    QT35-C#XML入门经典源代码全集

    源代码将演示如何利用LINQ查询XML,以及创建XML文档的新方法。 7. **XML和WCF服务**:Windows Communication Foundation(WCF)是.NET框架中的服务导向架构,经常使用XML进行数据交换。源代码可能会包含创建WCF服务...

    Xml反序列化

    Xml反序列化是编程中一个重要的概念,尤其是在.NET框架中,它允许我们将XML文档的数据转换为等效的程序...在处理如“PowerConfig”这样的压缩包文件时,反序列化提供了快速访问和修改存储在XML中的配置信息的有效途径。

    C#源代码生成器

    三、C#源代码生成器的应用场景 1. 数据访问层(DAL)生成:基于数据库模式,自动生成与数据库表对应的实体类、接口和实现,包括CRUD(创建、读取、更新、删除)操作。 2. 用户界面(UI)生成:根据业务逻辑,自动...

    C#的winform多语言实现(本地化,资源文件,xml)多种demo合集

    综上所述,实现C# WinForm应用的多语言支持可以通过多种途径,包括使用资源文件、XML文件、卫星程序集或者第三方库。每种方法都有其优势和适用场景,开发者应根据项目需求和团队能力选择合适的方法。提供的压缩包...

    C#怎样才能将XML文件导入SQL Server

    本文将详细介绍三种将XML数据导入SQL Server 2000的方法,包括大容量装载COM接口、textcopy.exe命令行实用工具和数据转换服务(DTS)。 1. **大容量装载COM接口**: SQL Server 2000提供了SQLXML 3.0 SP1,其中...

    xml操作,内含源码

    - `XPath`是一种查询XML文档的语言,用于选取节点,C#中的`XPathNavigator`和`XPathExpression`可实现XPath查询。 - `Linq-to-XML`提供了一种更简洁的API,如`XDocument`和`XElement`,使得XML操作更加直观。 8. ...

    32个C#实例程序---c#程序设计

    最后,C#还支持泛型,这是一种强大的工具,允许创建类型安全且可重用的数据结构,无需为每种类型创建单独的类。 在"32个C#实例程序"中,每个实例都可能涵盖了上述一个或多个知识点,通过分析和运行这些程序,你可以...

    c#特点与优点

    C#提供了以下几种途径: - **内置COM支持**:每个C#对象都可以自动转换为COM对象,便于与其他COM组件进行交互。 - **API调用**:允许在特定环境下使用指针和传统的C/C++特性,如手动内存管理和指针操作。 - **指针...

    xml个人简历在线制作

    XML(eXtensible Markup Language)是一种用于标记数据的语言,它的设计目的是传输和存储数据,而不是显示数据。在本项目“xml个人简历在线制作”中,XML被用来组织和存储个人简历的数据,使得这些信息可以被不同的...

    C#程序快捷方式菜单

    在C#编程中,创建和操作快捷方式菜单(通常称为上下文菜单或右键菜单)是一项常见的任务。这种技术在Windows应用程序中广泛使用,为用户提供快速访问常用功能的途径。在"通过C#对Listvive以及XML等很多知识的操作,...

    C#本质论第三版 高清

    《C#本质论》是C#编程领域的一本经典著作,尤其在第三版中,它深入浅出地探讨了C#语言的核心概念和技术,旨在帮助读者不仅掌握C#的基础知识,还能理解其背后的原理和设计理念。这本书对于那些已经对C#有初步了解,...

    《C#课程设计案例精编》-王振江

    7. LINQ(Language Integrated Query):C#的查询表达式,提供了一种在代码中集成数据查询的方式,简化了数据库、XML文件和其他数据源的查询操作。 8. 文件和流操作:通过System.IO命名空间,开发者可以学习如何...

    c#自动打包APK

    在IT行业中,C#是一种广泛使用的编程语言,尤其在Windows应用程序和游戏开发中。而APK则是Android应用的包文件格式,是Google Android系统中安装应用程序的标准方式。本项目聚焦于如何利用C#来实现自动打包APK的过程...

    C_Excel_c#excel_C#_c#excel_Excel.dll_c需要操作excel_

    总之,C#操作Excel提供了多种途径,从直接使用Office Interop到利用第三方库如EPPlus或NPOI。这些库使得在没有实际安装Excel的情况下,也能高效地处理Excel文件,简化了开发过程。在实际项目中,开发者应根据需求和...

    20个C#项目实战开发及项目全部源码

    在C#编程语言的世界里,项目实战开发是提升技能、理解和掌握这门语言的关键途径。这份"20个C#项目实战开发及项目全部源码"的资源集合为初学者和有经验的开发者提供了丰富的实践素材,让我们一起深入探讨这些项目背后...

Global site tag (gtag.js) - Google Analytics