DotNet框架中的XML.ppt

上传人:牧羊曲112 文档编号:6504700 上传时间:2023-11-07 格式:PPT 页数:18 大小:231KB
返回 下载 相关 举报
DotNet框架中的XML.ppt_第1页
第1页 / 共18页
DotNet框架中的XML.ppt_第2页
第2页 / 共18页
DotNet框架中的XML.ppt_第3页
第3页 / 共18页
DotNet框架中的XML.ppt_第4页
第4页 / 共18页
DotNet框架中的XML.ppt_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《DotNet框架中的XML.ppt》由会员分享,可在线阅读,更多相关《DotNet框架中的XML.ppt(18页珍藏版)》请在三一办公上搜索。

1、.NET中的XML,DataSet与XML/XML序列化,教学目标,掌握中操作xml掌握XML序列化,中操作xml,1.使用XML控件 注意:为XML控件配置DocumentSourse属性,中操作xml,2.使用DataSet读取xml文件 周润发 男 演员 谭浩强 男 教师 易中天 男 教师,中操作xml,DataSet objDataSet=new DataSet();objDataSet.ReadXml(Server.MapPath(XMLFileDemo.xml);GridView1.DataSource=objDataSet.Tables“”.DefaultView;GridVie

2、w1.DataBind();,中操作xml,效果,中操作xml,3.使用DataSet创建XML文件在Default.aspx视图编辑页面添加一个Button控件 如图,双击Button控件在其Button1_Click方法中添加如下代码:DataSet myds=new DataSet();DataTable mydt=new DataTable(Squares);DataRow mydr;mydt.Columns.Add(new DataColumn(数字,typeof(Int32);mydt.Columns.Add(new DataColumn(平方,typeof(Int32);/定义主

3、键mydt.PrimaryKey=new DataColumn mydt.Columns数字;for(int i=0;i 5;i+)mydr=mydt.NewRow();mydr0=i;mydr1=i*i;mydt.Rows.Add(mydr);myds.Tables.Add(mydt);myds.WriteXml(Server.MapPath(Squares.xml);,XML序列化,1.序列化的概念:序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。,XML序列化,2序列化的应用目的一个原因是将对象的

4、状态永久保存在存储媒体中,以便可以在以后重新创建精确的副本;另一个原因是通过值将对象从一个应用程序域发送到另一个应用程序域中。3.XML 序列化。XML 序列化中最主要的类是 XmlSerializer 类,它的最重要的方法是 Serialize 和 Deserialize 方法。,XML序列化,使用 XmLSerializer 类可将下列项序列化:公共类的公共读/写属性和字段实现 ICollection 或 IEnumerable 的类XmlElement 对象XmlNode 对象DataSet 对象,XML序列化,序列化对象:要序列化对象,首先创建要序列化的对象并设置它的公共属性和字段。,

5、using System;using;using System.Text;using;/此命名空间包含用于将对象序列化为XML 格式文档或流的类。using System.IO;/此命名空间包含操作文件和流的类namespace XmlTest/定义一个类MySerializableClass public class MySerializableClass/公共字段 public string strName;public int iAge;,XML序列化,续class Class1/在这里我们将MySerializableClass的对象序列化 static void Main()MySe

6、rializableClass myObject=new MySerializableClass();myObject.strName=张三;myObject.iAge=21;/使用myObject的类型创建XmlSerializer对象mySerializer XmlSerializer mySerializer=new XmlSerializer(typeof(MySerializableClass);/创建一个StreamWriter对象 StreamWriter myWriter=new StreamWriter(myFileName.xml);/调用Serialize方法将对象序列化

7、 写入XML文件中 mySerializer.Serialize(myWriter,myObject);myWriter.Close();,myFileName.xml 的内容 张三 21,XML序列化,将对象反序列化:当您反序列化对象时,传输格式确定您将创建流还是文件对象。确定了传输格式之后,就可以根据需要调用 Serialize 或 Deserialize 方法。/反序列化 MySerializableClass myObject;/使用对象myObject的类型创建XmlSerializer对象mySerializer XmlSerializer mySerializer=new Xml

8、Serializer(typeof(MySerializableClass);/创建一个文件流来读取XML文件 FileStream myFileStream=new FileStream(myFileName.xml,FileMode.Open);/调用Deserialize方法将对象反序列化 myObject=(MySerializableClass)mySerializer.Deserialize(myFileStream);Console.WriteLine(iAge:0,myObject.iAge);Console.WriteLine(strName:0,myObject.strNa

9、me);,XML序列化,序列化数据集DataSetprivate void SerializeDataSet(string filename)XmlSerializer ser=new XmlSerializer(typeof(DataSet);/创建一个DataSet对象它拥有一个列一行的DataTable DataSet ds=new DataSet(myDataSet);DataTable t=new DataTable(table1);DataColumn c=new DataColumn(thing);t.Columns.Add(c);ds.Tables.Add(t);DataRow

10、 r;for(int i=0;i 10;i+)r=t.NewRow();r0=Thing+i;t.Rows.Add(r);TextWriter writer=new StreamWriter(filename);ser.Serialize(writer,ds);writer.Close();,XML序列化,序列化 XmlElement 和 XmlNodeprivate void SerializeElement(string filename)/序列化XMLElement XmlSerializer ser=new XmlSerializer(typeof(XmlElement);XmlEle

11、ment myElement=new XmlDocument().CreateElement(MyElement,ns);myElement.InnerText=Hello World;TextWriter writer=new StreamWriter(filename);ser.Serialize(writer,myElement);writer.Close();,XML序列化,private void SerializeNode(string filename)/序列化 XmlNode XmlSerializer ser=new XmlSerializer(typeof(XmlNode);XmlNode myNode=new XmlDocument().CreateNode(XmlNodeType.Element,MyNode,ns);myNode.InnerText=Hello Node;TextWriter writer=new StreamWriter(filename);ser.Serialize(writer,myNode);writer.Close();,小结,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号