第十二讲在NET中处理XMLppt课件.ppt

上传人:本田雅阁 文档编号:3169518 上传时间:2019-07-19 格式:PPT 页数:24 大小:1,005.53KB
返回 下载 相关 举报
第十二讲在NET中处理XMLppt课件.ppt_第1页
第1页 / 共24页
第十二讲在NET中处理XMLppt课件.ppt_第2页
第2页 / 共24页
第十二讲在NET中处理XMLppt课件.ppt_第3页
第3页 / 共24页
第十二讲在NET中处理XMLppt课件.ppt_第4页
第4页 / 共24页
第十二讲在NET中处理XMLppt课件.ppt_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《第十二讲在NET中处理XMLppt课件.ppt》由会员分享,可在线阅读,更多相关《第十二讲在NET中处理XMLppt课件.ppt(24页珍藏版)》请在三一文库上搜索。

1、在.NET 中处理 XML,西源软件培训中心,回顾,跟踪是ASP.NET 引入的新功能,只需对页面和应用程序启用此功能,就可以查看有关单个ASP.NET 页请求的诊断信息 页面级跟踪具有一个称为 TraceMode 的属性,此属性接受 SortByCategory 或 SortByTime 属性值,以决定如何显示输出结果 应用程序级跟踪将启动对整个应用程序的跟踪。需要在web.config配置文件中进行设置,回顾,缓存是一项在计算中广泛用来提高性能的技术,它将访问频率高的数据或构造成本高的数据保留在内存中 输出缓存将缓存整个页面,数据缓存将设置内存变量缓存 使用 VS.NET的“Web安装项目

2、”可以将应用程序打包成易于部署的形式,目标,理解XMLDocument 结构 掌握 XML 命名空间中的 XMLDocument 对象 掌握XMLReader 和 XMLWriter 对象 掌握XMLValidatingReader 了解填充 XML 文件中的数据集 掌握数据集创建 XML 文档,XML 文档结构,标准,基于文本的数据标准,通信,XML,用于定义语义标签的规则集合,将文档分解为多个部分,标识文档各部分,元数据是定义用于定义其他特定于域的语义和结构化标记语言的语法用途,组织 XML 数据,标识使用的版本,演示根元素的示例代码, . ,Phonebook 元素具有开始标签 和结束标

3、签, 1998 ,具有子元素 的 Phonebook 元素,System.Xml命名空间,System.Xml命名空间包含了处理Xml的类,以下是经常用到的类 XmlTextReader 类提供对 XML 数据的快速、非高速缓存的只进读访问 XmlValidatingReader 类提供 DTD、XDR 和 XSD Schema 验证 XmlTextWriter 类提供一种生成 XML 的快速只进方法 XmlDataDocument 类提供 XmlDocument 的实现,此 XmlDocument 可以与数据集关联。可以通过数据集的关系表示或 XmlDataDocument 的树表示,来同时

4、查看和操作结构化的 XML XPathNavigator 类提供 W3C XPath 1.0 数据模型,而不是用于导航的光标样式模型的存储 XslTransform 类是一个 W3C XSLT 1.0 规范兼容的 XSLT 处理器,用于转换 XML 文档 XmlSchema 对象模型类提供一组直接反映 W3C XSD 规范的可导航类。这些类支持在程序中创建 XSD Schema,XMLDocument 对象,内存,XML 文档,XML 文档对象模型 (XML DOM) 类,提供了对读取、写入和操作 XML 文档的支持,XML 文档对象,执行任务 (如加载和保存文档),包括 Load()、 Lo

5、adXML() 和 Save(),用于访问文档中的所有节点,+,XML 节点类型,加载 XML 文档,将 XML 文档 加载到变量中,Load( ) 方法,如果不能解析或 访问 URL,从指定位置 加载 XML 文档,返回错误,并将文档对象的 documentElement 属性设置为 null,加载 XML 文档, 加菲尔德 5555555 纽约 26/10/1978 迈克 6666666 纽约 12/02/1978 ,private void Page_Load(object sender , System.EventArgs e) XmlDocument MyPhone = new Xm

6、lDocument(); MyPhone.Load( “C:InetpubwwwrootaspexCH12phone.xml“); lblXmlData.Text = MyPhone.InnerXml.ToString(); ,加载 XML 文档,LoadXML() 方法,使用提供的字符串加载 XML 文档,加载成功则返回 true,加载失败则返回 false,并将文档对象的 documentElement 属性设置为 null,XmlDocument MyPhone = new XmlDocument(); string xmlString = “ + “加菲尔德“ + “5555555“

7、+ “北京纽约“ + “26/10/1978“ + “迈克“ + “6666666“ + “纽约“ + “12/02/1978“ + “; MyPhone.LoadXml( xmlString );,获取节点和节点属性,XmlDocument MyPhone = new XmlDocument(); MyPhone.Load (Server.MapPath (“phone.xml“); /获取根元素 XmlElement root = MyPhone.DocumentElement; XmlElement phone = root.ChildNodes0;,获取节点,节点属性,使用 Save

8、方法编写 XML 数据,XmlDocument MyPhone = new XmlDocument(); MyPhone.Load(Server.MapPath(“phone.xml“); XmlElement newFriendsName = MyPhone.CreateElement( “Name“ ); newFriendsName.InnerText = “斯坦利“; MyPhone.DocumentElement.InsertAfter( newFriendsName , MyPhone.DocumentElement.LastChild ); XmlElement newFrien

9、dsNumber = MyPhone.CreateElement(“Number“); newFriendsNumber.InnerText = “7777777“; MyPhone.DocumentElement.InsertAfter( newFriendsNumber , MyPhone.DocumentElement.LastChild ); XmlElement newFriendsCity = MyPhone.CreateElement(“City“); newFriendsCity.InnerText = “加利福尼亚“; MyPhone.DocumentElement.Inse

10、rtAfter( newFriendsCity , MyPhone.DocumentElement.LastChild); XmlElement newFriendsDOB = MyPhone.CreateElement( “DateOfBirth“ ); newFriendsDOB.InnerText = “12/06/1984“; MyPhone.DocumentElement.InsertAfter( newFriendsDOB , MyPhone.DocumentElement.LastChild ); MyPhone.Save(Server.MapPath(“phone1.xml“)

11、; Response.Write(“数据已写入!单击“加载”查看 Phone.xml“);,输出结果,从 XML 文档中读取节点,从 XML 文档中读取节点,XmlReader,提供对 XML 数据流 的快速访问,另一个派生类是 XmlValidatingReader (读取 XML 数据,并支持 DTD 和 Schema 验证),由用于读取基于文本的 XML 文件的 XmlTextReader 类实现,一个抽象类,用于确定各种因素(如节点的深度),从 XML 文档中读取节点,using System; using System.Collections; using System.Compon

12、entModel; using System.Data; using System.Xml; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; namespace CH12 public class XMLReaderDemo : System.Web.UI.Page protected System.Web.UI.WebCont

13、rols.Label lblRecords; private void Page_Load(object sender, System.EventArgs e) string fileName = Server.MapPath (“Phone.xml “); XmlTextReader objXmlTextReader = new XmlTextReader(fileName); while(objXmlTextReader.Read() if (objXmlTextReader.NodeType = XmlNodeType.Element) if (objXmlTextReader.Loca

14、lName.Equals(“Name“) | objXmlTextReader.LocalName.Equals (“Number“) lblRecords.Text += objXmlTextReader.ReadString() + “t“; ,在 XML 文档中写入节点,在 XML 文档中写入节点,XmlWriter,XML TextWriter 类派生自该类,一个抽象类,帮助创建 XML 流并将数据写入到格式良好的 XML 文档,在 XML 文档中写入节点,using System; using System.Collections; using System.ComponentMod

15、el; using System.Data; using System.Xml; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; namespace CH12 public class XmlWriterDemo : System.Web.UI.Page private void Page_Load(object sender,

16、 System.EventArgs e) string FileName = “C:InetpubwwwrootaspexCH12phone.xml“; XmlTextWriter objXmlTextWriter = new XmlTextWriter( FileName, null); objXmlTextWriter.Formatting = Formatting.Indented; objXmlTextWriter.Indentation= 6; objXmlTextWriter.WriteStartDocument(); objXmlTextWriter.WriteStartElem

17、ent(“, “PhoneBook“, “); objXmlTextWriter.WriteStartElement(“, “Name“, “); objXmlTextWriter.WriteString(“加菲尔德“); ,objXmlTextWriter.WriteEndElement(); objXmlTextWriter.WriteStartElement(“, “Number“, “); objXmlTextWriter.WriteString(“5555555“); objXmlTextWriter.WriteEndElement(); objXmlTextWriter.Write

18、StartElement(“, “City“, “); objXmlTextWriter.WriteString(“纽约“); objXmlTextWriter.WriteEndElement(); objXmlTextWriter.WriteStartElement(“, “DateOfBirth“, “); objXmlTextWriter.WriteString(“26/10/1978“); objXmlTextWriter.WriteEndElement(); objXmlTextWriter.WriteEndElement(); objXmlTextWriter.WriteEndDo

19、cument(); objXmlTextWriter.Flush(); objXmlTextWriter.Close(); ,输出结果,使用XML验证读取器验证XML数据,XML 和数据集,数据集,存储 XML 数据,而不会引发任何错误,导入 System.IO 数据以读取 XML 数据, 列的值 列的值 列的值 列的值 ,数据集读取以下格式的数据:,使用 ReadXml 方法读取 XML 数据,FileStream myfs = new FileStream(Server.MapPath (“xmldatagrid.xml“),FileMode.Open, FileAccess.Read);

20、,如何打开 XML 文件,打开文件之后,定义一个 StreamReader并把 FileStream传入,StreamReader myreader = new StreamReader(myfs);,数据集读取 StreamReader. ReadXml() 方法中的 XML 数据,DataSet myds = new DataSet(); myds.ReadXml(myreader);,需要将 XML 数据绑定到数据集,DataView mySource = new DataView(myds.Tables0); dbgMyGrid.DataSource = mySource; dbgMy

21、Grid.DataBind();,使用 ReadXml 方法读取 XML 数据, .Net 开发者 精彩站点 学习 XML 与 ASP.NET Microsoft ASP.NET 官方网站 ,using System; using System.Collections; using System.ComponentModel; using System.IO; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; usi

22、ng System.Web.UI.WebControls; using System.Web.UI.HtmlControls; namespace CH12 public class ReadXml : System.Web.UI.Page protected System.Web.UI.WebControls.Label lblTableName; protected System.Web.UI.WebControls.DataGrid dgMyGrid; private void Page_Load(object sender, System.EventArgs e) DataSet my

23、ds = new DataSet(); FileStream myfs = new FileStream(Server.MapPath (“xmldatagrid.xml“),FileMode.Open, FileAccess.Read);,StreamReader myreader = new StreamReader(myfs); myds.ReadXml(myreader); myfs.Close(); DataView mySource = new DataView(myds.Tables0); blTableName.Text = lblTableName.Text +mySourc

24、e.Table.TableName; dgMyGrid.DataSource = mySource; dgMyGrid.DataBind(); ,使用 WriteXML 方法写入 XML 数据,using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Web; using System.Web.SessionState; using System.We

25、b.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; namespace CH12 public class Writexml : System.Web.UI.Page private void Page_Load(object sender, System.EventArgs e) DataSet ds = new DataSet(“Test“); SqlConnection objSqlConnection = new SqlConnection (“server = VIJAYK; user id

26、=sa; pwd=playware;” + “database=northwind“); SqlDataAdapter objSqlDataAdapter = new SqlDataAdapter( “select * from employees“, objSqlConnection); objSqlDataAdapter.Fill(ds, “MyEmployees“); ds.WriteXml(Server.MapPath (“MyEmployees.xml“); Response.Write(“使用 northwind 数据库 employees 表中的记录” + “成功创建了 XML

27、文件“); ,Dataset 对象的 WriteXml() 方法用于在目标文件夹中创建 XML 文件,示例 演示了将数据从 SQL Server 2000 数据库中读取到数据集中,并将其以 XML 文件的形式进行保存。,总结,XmlDocument 类给出 XML 文档的树表示,XmlDocument类允许操作 XML 文档 要在文本文件中读取和写入 XML 文档,则需要使用 XmlTextReader 和 XmlTextWriter 类。XmlTextReader和XmlTextWriter类和XmlDocument类比较,因为不需要把整个Xml文档读取到内存中,所以比XmlDocument占用资源少 XmlValidatingReader 类提供 DTD、XML 数据简化 (XDR) 以及 XML Schema 验证服务,这些服务支持验证 XML 文档或 XML 文档的一部分 Xml和数据集可以互相转换,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1