DotNet框架中的XML.ppt

上传人:鲁** 文档编号:571501500 上传时间:2024-08-11 格式:PPT 页数:18 大小:389KB
返回 下载 相关 举报
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中的中的XMLDataSet与与XML / XML序列化序列化教学目标教学目标掌握掌握2.0中操作中操作xml掌握掌握XML序列化序列化2.0中操作xml1.使用XML控件 注意:为XML控件配置DocumentSourse属性 2.0中操作xml2.使用DataSet读取xml文件 周润发 男 演员 谭浩强 男 教师 易中天 男 教师 2.0中操作xmlDataSet objDataSet = new DataSet(); objDataSet.ReadXml(Server.MapPath(XMLFileDemo.xml);GridView1.DataSource = objData

2、Set.Tables“”.DefaultView;GridView1.DataBind();2.0中操作xml效果2.0中操作xml3.使用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

3、(new DataColumn(平方,typeof(Int32);/定义主键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.序列化的概念:序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列

4、化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。XML序列化序列化2序列化的应用目的一个原因是将对象的状态永久保存在存储媒体中,以便可以在以后重新创建精确的副本;另一个原因是通过值将对象从一个应用程序域发送到另一个应用程序域中 。3. XML 序列化。XML 序列化中最主要的类是 XmlSerializer 类,它的最重要的方法是 Serialize 和 Deserialize 方法。XML序列化序列化使用 XmLSerializer 类可将下列项序列化:公共类的公共读/写属性和字段实现 ICollection 或 IEnumerable 的类XmlElement 对象Xm

5、lNode 对象DataSet 对象XML序列化序列化序列化对象:要序列化对象,首先创建要序列化的对象并设置它的公共属性和字段。 using System;using System.Collections.Generic;using System.Text;using System.Xml.Serialization;/此命名空间包含用于将对象序列化为XML 格式文档或流的类。using System.IO;/此命名空间包含操作文件和流的类namespace XmlTest /定义一个类MySerializableClass public class MySerializableClass /

6、公共字段 public string strName; public int iAge; XML序列化序列化续class Class1 /在这里我们将MySerializableClass的对象序列化 static void Main() MySerializableClass myObject = new MySerializableClass(); myObject.strName = 张三; myObject.iAge = 21; /使用myObject的类型创建XmlSerializer对象mySerializer XmlSerializer mySerializer = new Xm

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

8、据需要调用 Serialize 或 Deserialize 方法。/反序列化 MySerializableClass myObject; /使用对象myObject的类型创建XmlSerializer对象mySerializer XmlSerializer mySerializer = new XmlSerializer(typeof(MySerializableClass); /创建一个文件流来读取XML文件 FileStream myFileStream = new FileStream(myFileName.xml, FileMode.Open); / 调用Deserialize方法将对

9、象反序列化 myObject = (MySerializableClass)mySerializer.Deserialize(myFileStream); Console.WriteLine(iAge:0,myObject.iAge); Console.WriteLine(strName:0, myObject.strName);XML序列化序列化序列化数据集DataSetprivate void SerializeDataSet(string filename) XmlSerializer ser = new XmlSerializer(typeof(DataSet); / 创建一个Data

10、Set对象它拥有一个列一行的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 r; for (int i = 0; i 10; i+) r = t.NewRow(); r0 = Thing + i; t.Rows.Add(r); TextWriter writer = new StreamWriter(filenam

11、e); ser.Serialize(writer, ds); writer.Close(); XML序列化序列化序列化 XmlElement 和 XmlNodeprivate void SerializeElement(string filename)/序列化XMLElement XmlSerializer ser = new XmlSerializer(typeof(XmlElement); XmlElement myElement = new XmlDocument().CreateElement(MyElement, ns); myElement.InnerText = Hello Wo

12、rld; 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备13022795号 | 川公网安备 51140202000112号