java dataset xml_XML与DataSet对象的关系

在.NET Framework 中,经常使用XML 作为存储和传输各种数据的格式。DataSet 中的数据可以转换成XML 的形式来表示和存储。我们可以使用XML 对象同步和转换DataSet 的数据,而DataSet 也可以存储和传输XML 格式的数据。

XML 与 DataSet 的关系如下图所示:

89c4c6656d21696e6987702ae5a27545.gif

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"?>0Mark181Jorn222Aderson30

Customer.xsd 文件如下:

Winform 程序的源代码如下:

namespaceDataSet_XML_Demo

{publicpartialclassForm1 : Form

{publicForm1()

{

InitializeComponent();

}

DataSet ds=newDataSet();//读取XML文档的数据到DataSetprivatevoidbtnReadXML_Click(objectsender, EventArgs e)

{

ds.ReadXml("http://www.cnblogs.com/"+"Person.xml");

dataGridView1.DataSource=ds.Tables[0];

}//将DataSet中的数据写出到XML文档privatevoidbtnWriteXML_Click(objectsender, EventArgs e)

{

ds.WriteXml("http://www.cnblogs.com/New.xml");

ds.WriteXml("http://www.cnblogs.com/New_Alter.xml", XmlWriteMode.DiffGram);

}//加载Schema给DataSetprivatevoidbtnReadXmlSchema_Click(objectsender, EventArgs e)

{

DataSet newDataSet=newDataSet();

newDataSet.ReadXmlSchema("http://www.cnblogs.com/Customer.xsd");

dataGridView1.DataSource=newDataSet.Tables[0];

}//将DataSet的Schema写出privatevoidbtnWriteXmlSchema_Click(objectsender, EventArgs e)

{

DataSet newDataSet=newDataSet();

DataTable dt=newDataTable();

DataColumn dc1=newDataColumn("id",typeof(int));

DataColumn dc2=newDataColumn("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()方法的使用privatevoidbtnGetXml_Click(objectsender, EventArgs e)

{

DataSet newXml=newDataSet();

newXml.ReadXml("http://www.cnblogs.com/"+"Person.xml");

dataGridView1.DataSource=newXml.Tables[0];//GetXml():返回DataSet中XML形式的字符串stringstrXml=newXml.GetXml();

textBox1.Text=strXml;

}//GetXmlSchema()方法的使用privatevoidbtnGetXmlSchema_Click(objectsender, EventArgs e)

{/*注意:

如果DataSet已经拥有一个Schema模式,

再加载新的Schema模式文件,

则会自动将两个Schema模式合并。*/DataSet newSchema=newDataSet();

newSchema.ReadXmlSchema("http://www.cnblogs.com/Customer.xsd");

dataGridView1.DataSource=newSchema.Tables[0];//GetXmlSchema():返回DataSet所使用的Schema 模式文件的字符串stringstrSchema=newSchema.GetXmlSchema();

textBox1.Text=strSchema;

}

}

}

Winform 程序的界面效果如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值