在.NET Framework 中,经常使用XML 作为存储和传输各种数据的格式。
DataSet 中的数据可以转换成XML 的形式来表示和存储。
我们可以使用XML 对象同步和转换DataSet 的数据,而DataSet 也可以存储和传输XML 格式的数据。
XML 与 DataSet 的关系如下图所示:
DataSet 对象的常用方法如下:
A. 使用ReadXml( ) 方法:从文件或流中加载XML 数据,填充DataSet 对象。DataSet 对象.ReadXML( 文件路径字符串|stream 对象, XmlReadMode 枚举值[可以省略] ) ;
B. 使用WriteXml( ) 方法:将DataSet 对象中的数据以XML 格式写出到文件或流中。DataSet 对象.WriteXml( 文件路径字符串| stream 对象, XmlWriteMode 枚举值[可以省略] ) ;
C. 使用ReadXmlSchema( ) 方法:将Shema 模式文件读入DataSet 对象。DataSet 对象.ReadXmlSchema( Stream | FileName | TextReader | XmlReader ) ;
D. 使用WriteXmlSchema( ) 方法:将DataSet 对象的Shema 模式文件写出到文件或流。DataSet 对象.WriteXmlSchema( Stream | FileName | TextWriter | XmlWriter ) ;
E. 使用GetXmlSchema( ) 方法:将DataSet 对象的Shema 模式,以字符串的形式获得。DataSet 对象.GetXmlSchema( );
F. 使用GetXml( ) 方法:将DataSet 对象的XML 格式的数据集,以字符串的形式获得。DataSet 对象.GetXml( );
接下来,通过一个综合示例进行演示。
Person.xml 文件如下:
- <?xml version="1.0" encoding="UTF-8"?>
- <Persons>
- <person>
- <ID>0</ID>
- <Name>Mark</Name>
- <Age>18</Age>
- </person>
- <person>
- <ID>1</ID>
- <Name>Jorn</Name>
- <Age>22</Age>
- </person>
- <person>
- <ID>2</ID>
- <Name>Aderson</Name>
- <Age>30</Age>
- </person>
- </Persons>
Customer.xsd 文件如下:
- <?xml version="1.0" encoding="UTF-8"?>
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schema-microsoft-com:xml-msdata" elementFormDefault="qualified" attributeFormDefault="unqualified" id="Customers">
- <xs:element name="Customers" msdata:IsDataSet="true" msdata:EnforceConstraints="False">
- <xs:complexType>
- <xs:choice maxOccurs="unbounded">
- <xs:element name="Customer" type="customersType"/>
- </xs:choice>
- </xs:complexType>
- </xs:element>
- <xs:complexType name="customersType">
- <xs:sequence>
- <xs:element name="CustomersID" type="xs:string" minOccurs="0"/>
- <xs:element name="CustomersName" type="xs:string" minOccurs="0"/>
- <xs:element name="CustomersAge" type="xs:int" minOccurs="0"/>
- </xs:sequence>
- </xs:complexType>
- </xs:schema>
Winform 程序的源代码如下:
- namespace DataSet_XML_Demo
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
- DataSet ds = new DataSet();
- //读取XML文档的数据到DataSet
- private void btnReadXML_Click(object sender, EventArgs e)
- {
- ds.ReadXml("http://www.cnblogs.com/" + "Person.xml");
- dataGridView1.DataSource = ds.Tables[0];
- }
- //将DataSet中的数据写出到XML文档
- private void btnWriteXML_Click(object sender, EventArgs e)
- {
- ds.WriteXml("http://www.cnblogs.com/New.xml");
- ds.WriteXml("http://www.cnblogs.com/New_Alter.xml", XmlWriteMode.DiffGram);
- }
- //加载Schema给DataSet
- private void btnReadXmlSchema_Click(object sender, EventArgs e)
- {
- DataSet newDataSet = new DataSet();
- newDataSet.ReadXmlSchema("http://www.cnblogs.com/Customer.xsd");
- dataGridView1.DataSource = newDataSet.Tables[0];
- }
- //将DataSet的Schema写出
- private void btnWriteXmlSchema_Click(object sender, EventArgs e)
- {
- DataSet newDataSet = new DataSet();
- DataTable dt = new DataTable();
- DataColumn dc1 = new DataColumn("id", typeof(int));
- DataColumn dc2 = new DataColumn("name", typeof(string));
- dt.Columns.Add(dc1);
- dt.Columns.Add(dc2);
- newDataSet.Tables.Add(dt);
- dataGridView1.DataSource = newDataSet;
- dataGridView1.DataMember = "Table1";
- newDataSet.WriteXmlSchema("http://www.cnblogs.com/newSchema.xsd");
- }
- //GetXml()方法的使用
- private void btnGetXml_Click(object sender, EventArgs e)
- {
- DataSet newXml = new DataSet();
- newXml.ReadXml("http://www.cnblogs.com/" + "Person.xml");
- dataGridView1.DataSource = newXml.Tables[0];
- //GetXml():返回DataSet中XML形式的字符串
- string strXml = newXml.GetXml();
- textBox1.Text = strXml;
- }
- //GetXmlSchema()方法的使用
- private void btnGetXmlSchema_Click(object sender, EventArgs e)
- {
- /* 注意:
- 如果DataSet已经拥有一个Schema模式,
- 再加载新的Schema模式文件,
- 则会自动将两个Schema模式合并。
- */
- DataSet newSchema = new DataSet();
- newSchema.ReadXmlSchema("http://www.cnblogs.com/Customer.xsd");
- dataGridView1.DataSource = newSchema.Tables[0];
- //GetXmlSchema():返回DataSet所使用的Schema模式文件的字符串
- string strSchema = newSchema.GetXmlSchema();
- textBox1.Text = strSchema;
- }
- }
- }
Winform 程序的界面效果如下:
发表评论
-
(转)ASP.NET文件上传控件——WebbUpload我下载了这个组件后做了一些修改并应用了ajax技术
2010-12-06 16:28 979我下载了这个组件后做了一些修改并应用了ajax技术,你们可以去 ... -
ASP.NET 下载管理的基础篇
2010-10-13 11:20 837很多时候一个网站是需要对文件下载进行管理的,不是任何人都允许下 ... -
C#实现获取CPU使用率的方法
2010-10-13 11:09 2129无需多说,直接上代码 using System; ... -
用C#取得远程IP地址,MAC地址的方法
2010-10-13 11:05 1290经常需要获得远程的地址,需要用sendarp这个函数来实现。具 ... -
C#在应用程序中实现自动升级(转)
2010-10-11 12:06 5895这是本人第一次写比较复杂的文章,表达不清之处,请各位见谅。好, ... -
.Net垃圾收集机制 了解算法与代龄
2010-10-08 17:40 634垃圾收集器在本质上就是负责跟踪所有对象被引用到的地方,关注 ... -
深入了解Array,弄个明明白白
2010-10-08 17:28 6931. 数组大局观 数组是一个引用类型,也就是意味着数 ... -
Asp.Net如何实现断点续传
2010-10-08 17:07 1069断点续传的原理 ... -
编码实现动态调用WebService的方法
2010-10-08 11:00 1688调用方法,同时也支持带ref参数的 /// ... -
ASP.NET得到当前代码位置的类名和方法名
2010-10-08 10:31 966protected void writeerror(obje ... -
文本字符的html格式转换
2010-10-08 10:23 762前一段仿泡泡网做了个论坛,遇到了个文本符号转化成相应htm ... -
C#串口serialPort操作
2010-10-08 10:20 1610现在大多数硬件设备均采用串口技术与计算机相连,因此串口的应 ... -
C#.Net创建不规则窗体的几种方法
2010-09-30 13:41 1528现在,C#创建不规则窗体不是一件难事,下面总结一下: 一、自 ... -
用Visual Studio来自动化测试
2010-09-30 13:32 1103自动化测试的实现 编写自动化测试也许对很多测试人员来说比较陌 ... -
10个C#编程和Visual Studio使用技巧
2010-09-30 13:29 779C#是一门伟大的编程语言,与C++和Java相比,它的语法更简 ...
相关推荐
在asp.net中提供了数据集DateSet与Xml转换的类 XmlDatasetConvert code: XmlDatasetConvert 该类提供了四种方法: 1、将xml对象内容字符串转换为DataSet 2、将xml文件转换为DataSet 3、将DataSet转换为...
用C#编程实现显示XML文件中信息的方法是使用.NET提供的标准类把XML文件内容读入一个StreamReader类对象中,再用XmlDatadocument类的DataSet读XML的方法去读XML信息到DataSet中,DataSet再以DataView的方式赋给一个Web...
DataSetConverter4Delphi, 将JSON对象和数据集转换为JSON对象的API Delphi的数据集转换器xml是转换JSON对象和数据集的API,也执行反向处理,数据集JSON转换。TDataSet和 TJSONObject TJSONArray类一起工作。要使用这...
/// 将xml对象转化成DataTable /// /// <returns></returns> public DataTable CoverToTable() { if (this._xmlDocumentdoc != null) { DataSet dsxml = null; using (XmlReader reader = new ...
XML概述 <br>2.1 XML的概念 2.1.1 XML元素 2.1.2 XML属性 2.1.3 XML解析器 2.1.4 构建XML 2.1.5 XML文档的各个组成部分 2.2 创建格式良好的XML文档 2.2.1 XML中的元素 2.2.2 XML中的属性...
XML 和 DataSet:描述 DataSet 如何与作为数据源的 XML 进行交互(包括以 XML 数据的形式加载和保持 DataSet 的内容)。 DiffGram:提供有关 DiffGram 的详细信息,DiffGram 是一种用于读写 DataSet 内容的 XML 格式...
4.2 dataset对象模型 4.2.1 datacolumn,datarow和data table 4.2.2 data table及其用法 4.2.3 datarow 4.2.4 键、关系和约束 4.2.5 通过关系来导航:select和find 4.2.6 行的添加、获取、更改和...
前不久因为项目的需要写的一个C#把DataSet内数据转化为Excel和Word文件的通用类,这些关于Excel、Word的导出方法,基本可以实现日常须要,其中有些方法可以把数据导出后 生成Xml格式,再导入数据库!有些屏蔽内容没有...
7.1 对象与关系数据的映射 180 7.1.1 通过在类中添加属性 181 7.1.2 使用外部XML文件实现映射 185 7.1.3 使用SqlMetal工具 186 7.1.4 LINQ to SQL设计器 188 7.2 将查询表达式转换为SQL 190 7.2.1 ...
7.1 对象与关系数据的映射 180 7.1.1 通过在类中添加属性 181 7.1.2 使用外部XML文件实现映射 185 7.1.3 使用SqlMetal工具 186 7.1.4 LINQ to SQL设计器 188 7.2 将查询表达式转换为SQL 190 7.2.1 ...
7.1 对象与关系数据的映射 180 7.1.1 通过在类中添加属性 181 7.1.2 使用外部XML文件实现映射 185 7.1.3 使用SqlMetal工具 186 7.1.4 LINQ to SQL设计器 188 7.2 将查询表达式转换为SQL 190 7.2.1 ...
7.1 对象与关系数据的映射 180 7.1.1 通过在类中添加属性 181 7.1.2 使用外部XML文件实现映射 185 7.1.3 使用SqlMetal工具 186 7.1.4 LINQ to SQL设计器 188 7.2 将查询表达式转换为SQL 190 7.2.1 ...
7.1 对象与关系数据的映射 180 7.1.1 通过在类中添加属性 181 7.1.2 使用外部XML文件实现映射 185 7.1.3 使用SqlMetal工具 186 7.1.4 LINQ to SQL设计器 188 7.2 将查询表达式转换为SQL 190 7.2.1 ...
7.1 对象与关系数据的映射 180 7.1.1 通过在类中添加属性 181 7.1.2 使用外部XML文件实现映射 185 7.1.3 使用SqlMetal工具 186 7.1.4 LINQ to SQL设计器 188 7.2 将查询表达式转换为SQL 190 7.2.1 ...
7.1 对象与关系数据的映射 180 7.1.1 通过在类中添加属性 181 7.1.2 使用外部XML文件实现映射 185 7.1.3 使用SqlMetal工具 186 7.1.4 LINQ to SQL设计器 188 7.2 将查询表达式转换为SQL 190 7.2.1 ...
7.1 对象与关系数据的映射 180 7.1.1 通过在类中添加属性 181 7.1.2 使用外部XML文件实现映射 185 7.1.3 使用SqlMetal工具 186 7.1.4 LINQ to SQL设计器 188 7.2 将查询表达式转换为SQL 190 7.2.1 ...
7.1 对象与关系数据的映射 180 7.1.1 通过在类中添加属性 181 7.1.2 使用外部XML文件实现映射 185 7.1.3 使用SqlMetal工具 186 7.1.4 LINQ to SQL设计器 188 7.2 将查询表达式转换为SQL 190 7.2.1 ...
7.1 对象与关系数据的映射 180 7.1.1 通过在类中添加属性 181 7.1.2 使用外部XML文件实现映射 185 7.1.3 使用SqlMetal工具 186 7.1.4 LINQ to SQL设计器 188 7.2 将查询表达式转换为SQL 190 7.2.1 ...
7.1 对象与关系数据的映射 180 7.1.1 通过在类中添加属性 181 7.1.2 使用外部XML文件实现映射 185 7.1.3 使用SqlMetal工具 186 7.1.4 LINQ to SQL设计器 188 7.2 将查询表达式转换为SQL 190 7.2.1 ...
说明:存储库可探索任何带注释的数据集并创建COCO样式的JSON文件,以在带注释的数据集上训练对象检测器。 该存储库支持XML和TXT文件。 摘要统计 Images: 4080 Categories: 20 Total instances: 32964 仅用于统计 ...