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

上传人:M****1 文档编号:585586128 上传时间:2024-09-02 格式:PPT 页数:24 大小:1,005.52KB
返回 下载 相关 举报
第十二讲在NET中处理XMLppt课件_第1页
第1页 / 共24页
第十二讲在NET中处理XMLppt课件_第2页
第2页 / 共24页
第十二讲在NET中处理XMLppt课件_第3页
第3页 / 共24页
第十二讲在NET中处理XMLppt课件_第4页
第4页 / 共24页
第十二讲在NET中处理XMLppt课件_第5页
第5页 / 共24页
点击查看更多>>
资源描述

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

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

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

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

4、XMLuXPathNavigator 类提供 W3C XPath 1.0 数据模型,而不是用于导航的光标样式模型的存储uXslTransform 类是一个 W3C XSLT 1.0 规范兼容的 XSLT 处理器,用于转换 XML 文档uXmlSchema 对象模型类提供一组直接反映 W3C XSD 规范的可导航类。这些类支持在程序中创建 XSD SchemaXMLDocument 对象内存内存内存内存XMLXML文档文档文档文档XMLXML 文档对象模型文档对象模型文档对象模型文档对象模型 (XML DOM) (XML DOM) 类类类类提供了对读取、写入和操作XML文档的支持XML XML

5、文档对文档对文档对文档对象象象象执行任务(如加载和保存文档)包括Load()、LoadXML()和Save()用于访问文档中的所有节点+XML 节点类型DOM 节点类型节点类型 说明说明 文档(Document) 此节点类型是所有节点的容器,也称为文档的根根元素(DocumentElement)XmlDocument的根元素,一个Document只有一个DocumentElement文档类型(DocumentType)此节点类型表示 节点元素(XmlElement)此节点类型表示元素节点 属性(XmlAttribute)此节点类型表示元素节点的属性注释(XmlComment)此节点类型表示注释

6、节点文本(XmlText)此节点类型表示属于特定节点或属性的文本加载 XML 文档将XML文档加载到变量中Load()方法如果不能解析或访问URL从指定位置加载XML文档返回错误,并将文档对象的documentElement属性设置为null加载 XML 文档加菲尔德5555555纽约26/10/1978迈克6666666纽约12/02/1978privatevoidPage_Load(objectsender,System.EventArgse)XmlDocumentMyPhone=newXmlDocument();MyPhone.Load(C:InetpubwwwrootaspexCH12

7、phone.xml);lblXmlData.Text=MyPhone.InnerXml.ToString();加载 XML 文档 LoadXML()方法使用提供的字符串加载XML文档加载成功则返回true加载失败则返回false,并将文档对象的documentElement属性设置为nullXmlDocumentMyPhone=newXmlDocument();stringxmlString=+加菲尔德+5555555+北京纽约+26/10/1978+迈克+6666666+纽约+12/02/1978+;MyPhone.LoadXml(xmlString);获取节点和节点属性节点属性节点属性说明

8、说明 HasChildNodes属性继承自XmlNode,如果此节点具有子节点,则此属性为 TrueChildNodes属性继承自XmlNode,所有子节点的集合(NodeList)InnerXml属性节点和其子节点的串联值ParentNode 属性获取该节点的父节点,没有父节点则返回Null值InnerText属性该节点的字节点标记OuterXml属性该节点和其子节点的标记NodeType属性返回一个XmlNodeType枚举类型的值,这个枚举可选项有Text、Attrbute、Element、Entity等Value属性根据节点类型(NodeType)返回值:Text返回文本的内容、Att

9、ribute返回属性的值、Element返回Null、Entity返回Null等XmlDocumentMyPhone=newXmlDocument();MyPhone.Load(Server.MapPath(“phone.xml);/获取根元素XmlElementroot=MyPhone.DocumentElement;XmlElementphone=root.ChildNodes0;获取节点节点属性使用 Save 方法编写 XML 数据XmlDocumentMyPhone=newXmlDocument();MyPhone.Load(Server.MapPath(phone.xml);XmlE

10、lementnewFriendsName=MyPhone.CreateElement(Name);newFriendsName.InnerText=斯坦利;MyPhone.DocumentElement.InsertAfter(newFriendsName,MyPhone.DocumentElement.LastChild);XmlElementnewFriendsNumber=MyPhone.CreateElement(Number);newFriendsNumber.InnerText=7777777;MyPhone.DocumentElement.InsertAfter(newFrien

11、dsNumber,MyPhone.DocumentElement.LastChild);XmlElementnewFriendsCity=MyPhone.CreateElement(City);newFriendsCity.InnerText=加利福尼亚;MyPhone.DocumentElement.InsertAfter(newFriendsCity,MyPhone.DocumentElement.LastChild);XmlElementnewFriendsDOB=MyPhone.CreateElement(DateOfBirth);newFriendsDOB.InnerText=12/

12、06/1984;MyPhone.DocumentElement.InsertAfter(newFriendsDOB,MyPhone.DocumentElement.LastChild);MyPhone.Save(Server.MapPath(phone1.xml);Response.Write(数据已写入!单击“加载”查看Phone.xml);输出结果从 XML 文档中读取节点 从从 XML 文档中读取节点文档中读取节点XmlReader提供对XML数据流的快速访问另一个派生类是XmlValidatingReader(读取XML数据,并支持DTD和Schema验证)由用于读取基于文本的XML文

13、件的XmlTextReader类实现一个抽象类用于确定各种因素(如节点的深度)从 XML 文档中读取节点usingSystem;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Xml;usingSystem.Drawing;usingSystem.Web;usingSystem.Web.SessionState;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.HtmlControls;names

14、paceCH12publicclassXMLReaderDemo:System.Web.UI.PageprotectedSystem.Web.UI.WebControls.LabellblRecords;privatevoidPage_Load(objectsender,System.EventArgse)stringfileName=Server.MapPath(“Phone.xml“);XmlTextReaderobjXmlTextReader=newXmlTextReader(fileName);while(objXmlTextReader.Read()if(objXmlTextRead

15、er.NodeType=XmlNodeType.Element)if(objXmlTextReader.LocalName.Equals(Name)|objXmlTextReader.LocalName.Equals(Number)lblRecords.Text+=objXmlTextReader.ReadString()+t;在 XML 文档中写入节点在在 XML 文档中写入节点文档中写入节点XmlWriterXMLTextWriter类派生自该类一个抽象类帮助创建XML流并将数据写入到格式良好的XML文档在 XML 文档中写入节点usingSystem;usingSystem.Collec

16、tions;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Xml;usingSystem.Drawing;usingSystem.Web;usingSystem.Web.SessionState;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.HtmlControls;namespaceCH12publicclassXmlWriterDemo:System.Web.UI.PageprivatevoidPage_Load(objectsend

17、er,System.EventArgse)stringFileName=C:InetpubwwwrootaspexCH12phone.xml;XmlTextWriterobjXmlTextWriter=newXmlTextWriter(FileName,null);objXmlTextWriter.Formatting=Formatting.Indented;objXmlTextWriter.Indentation=6;objXmlTextWriter.WriteStartDocument();objXmlTextWriter.WriteStartElement(,PhoneBook,);ob

18、jXmlTextWriter.WriteStartElement(,Name,);objXmlTextWriter.WriteString(“加菲尔德);objXmlTextWriter.WriteEndElement();objXmlTextWriter.WriteStartElement(,Number,);objXmlTextWriter.WriteString(5555555);objXmlTextWriter.WriteEndElement();objXmlTextWriter.WriteStartElement(,City,);objXmlTextWriter.WriteStrin

19、g(“纽约);objXmlTextWriter.WriteEndElement();objXmlTextWriter.WriteStartElement(,DateOfBirth,);objXmlTextWriter.WriteString(26/10/1978);objXmlTextWriter.WriteEndElement();objXmlTextWriter.WriteEndElement();objXmlTextWriter.WriteEndDocument();objXmlTextWriter.Flush();objXmlTextWriter.Close();输出结果使用XML验证

20、读取器验证XML数据属性值属性值 说明说明 DTD 根据 DTD 规则验证文档Schema 根据 XSD Schema 验证文档XDR 根据 XDR Schema 验证文档None 不需要验证Auto 自动检测基于文档中声明的验证类型XML 和数据集 数据集数据集存储存储 XML 数据,而不数据,而不会引发任何错误会引发任何错误导入导入 System.IO 数据以数据以读取读取 XML 数据数据列的值列的值列的值列的值数据集读取以下格式的数据:数据集读取以下格式的数据:使用 ReadXml 方法读取 XML 数据FileStreammyfs=newFileStream(Server.MapPa

21、th(xmldatagrid.xml),FileMode.Open,FileAccess.Read);如何打开XML文件打开文件之后,定义一个StreamReader并把FileStream传入StreamReadermyreader=newStreamReader(myfs);数据集读取StreamReader.ReadXml()方法中的XML数据DataSetmyds=newDataSet();myds.ReadXml(myreader);需要将XML数据绑定到数据集DataViewmySource=newDataView(myds.Tables0);dbgMyGrid.DataSourc

22、e=mySource;dbgMyGrid.DataBind();使用 ReadXml 方法读取 XML 数据.Net开发者精彩站点学习XML与ASP.NETMicrosoftASP.NET官方网站usingSystem;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.IO;usingSystem.Data;usingSystem.Drawing;usingSystem.Web;usingSystem.Web.SessionState;usingSystem.Web.UI;usingSystem.Web.UI.WebC

23、ontrols;usingSystem.Web.UI.HtmlControls;namespaceCH12publicclassReadXml:System.Web.UI.PageprotectedSystem.Web.UI.WebControls.LabellblTableName;protectedSystem.Web.UI.WebControls.DataGriddgMyGrid;privatevoidPage_Load(objectsender,System.EventArgse)DataSetmyds=newDataSet();FileStreammyfs=newFileStream

24、(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+mySource.Table.TableName;dgMyGrid.DataSource = mySource;dgMyGrid.Dat

25、aBind(); 使用 WriteXML 方法写入 XML 数据usingSystem;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Drawing;usingSystem.Web;usingSystem.Web.SessionState;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.HtmlControls;namespaceCH12p

26、ublicclassWritexml:System.Web.UI.PageprivatevoidPage_Load(objectsender,System.EventArgse)DataSetds=newDataSet(Test);SqlConnectionobjSqlConnection=newSqlConnection(server=VIJAYK;userid=sa;pwd=playware;”+“database=northwind);SqlDataAdapterobjSqlDataAdapter=newSqlDataAdapter(select*fromemployees,objSql

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

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号