版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、来自来自 中国最大的资料库下载中国最大的资料库下载 在.NET 中处理 XML来自来自 中国最大的资料库下载中国最大的资料库下载2回顾q 跟踪是ASP.NET 引入的新功能,只需对页面和应用程序启用此功能,就可以查看有关单个ASP.NET 页请求的诊断信息q 页面级跟踪具有一个称为 TraceMode 的属性,此属性接受 SortByCategory 或 SortByTime 属性值,以决定如何显示输出结果q 应用程序级跟踪将启动对整个应用程序的跟踪。需要在web.config配置文件中进行设置q 缓存是一项在计算中广泛用来提高性能的技术,它将访问频率高的数据或构造成本高的数据保留在内存中q
2、输出缓存将缓存整个页面,数据缓存将设置内存变量缓存q 使用 VS.NET的“Web安装项目”可以将应用程序打包成易于部署的形式来自来自 中国最大的资料库下载中国最大的资料库下载3目标q 理解XMLDocument 结构q 使用 XML 命名空间中的 XMLDocument 对象q 使用 XMLReader 和 XMLWriter 对象q 使用 XMLValidatingReaderq 填充 XML 文件中的数据集q 使用数据集创建 XML 文档来自来自 中国最大的资料库下载中国最大的资料库下载4XML 文档结构标准 基于文本的数据标准通信XML用于定义语义标签的规则集合将文档分解为多个部分标识
3、文档各部分元数据是定义用于定义其他特定于域的语义和结构化标记语言的语法用途来自来自 中国最大的资料库下载中国最大的资料库下载5组织 XML 数据标识使用的版本 演示根元素的示例代码. Phonebook 元素具有开始标签 和结束标签1998 具有子元素 的 Phonebook 元素来自来自 中国最大的资料库下载中国最大的资料库下载6System.Xml命名空间q System.Xml命名空间包含了处理Xml的类,以下是经常用到的类qXmlTextReader 类提供对 XML 数据的快速、非高速缓存的只进读访问qXmlValidatingReader 类提供 DTD、XDR 和 XSD Sch
4、ema 验证qXmlTextWriter 类提供一种生成 XML 的快速只进方法qXmlDataDocument 类提供 XmlDocument 的实现,此 XmlDocument 可以与数据集关联。可以通过数据集的关系表示或 XmlDataDocument 的树表示,来同时查看和操作结构化的 XMLqXPathNavigator 类提供 W3C XPath 1.0 数据模型,而不是用于导航的光标样式模型的存储qXslTransform 类是一个 W3C XSLT 1.0 规范兼容的 XSLT 处理器,用于转换 XML 文档qXmlSchema 对象模型类提供一组直接反映 W3C XSD 规范
5、的可导航类。这些类支持在程序中创建 XSD Schema来自来自 中国最大的资料库下载中国最大的资料库下载7XMLDocument 对象提供了对读取、写入和操作 XML 文档的支持执行任务(如加载和保存文档) 包括 Load()、 LoadXML() 和 Save() 用于访问文档中的所有节点+来自来自 中国最大的资料库下载中国最大的资料库下载8XML 节点类型DOM 节点类型节点类型 说明说明 文档(Document) 此节点类型是所有节点的容器,也称为文档的根根元素(DocumentElement)XmlDocument的根元素,一个Document只有一个DocumentElement文
6、档类型(DocumentType)此节点类型表示 节点元素(XmlElement)此节点类型表示元素节点 属性(XmlAttribute)此节点类型表示元素节点的属性注释(XmlComment)此节点类型表示注释节点文本(XmlText)此节点类型表示属于特定节点或属性的文本来自来自 中国最大的资料库下载中国最大的资料库下载9加载 XML 文档 3-1 将 XML 文档加载到变量中Load( ) 方法如果不能解析或访问 URL从指定位置加载 XML 文档返回错误,并将文档对象的 documentElement 属性设置为 null来自来自 中国最大的资料库下载中国最大的资料库下载10加载 XM
7、L 文档 3-2 加菲尔德 5555555 纽约 26/10/1978 迈克 6666666 纽约 12/02/1978private void Page_Load(object sender, System.EventArgs e)XmlDocument MyPhone = new XmlDocument();MyPhone.Load(C:InetpubwwwrootaspexCH12phone.xml);lblXmlData.Text = MyPhone.InnerXml.ToString();来自来自 中国最大的资料库下载中国最大的资料库下载11加载 XML 文档 3-3LoadXML(
8、) 方法使用提供的字符串加载 XML 文档加载成功则返回 true 加载失败则返回 false,并将文档对象的 documentElement 属性设置为 nullXmlDocument MyPhone = new XmlDocument();string xmlString = + 加菲尔德 + 5555555 + 北京纽约 + 26/10/1978 + 迈克 + 6666666 + 纽约 + 12/02/1978+ ;MyPhone.LoadXml( xmlString );来自来自 中国最大的资料库下载中国最大的资料库下载12获取节点和节点属性节点属性节点属性说明说明 HasChildN
9、odes属性继承自XmlNode,如果此节点具有子节点,则此属性为 TrueChildNodes属性继承自XmlNode,所有子节点的集合(NodeList)InnerXml属性节点和其子节点的串联值ParentNode 属性获取该节点的父节点,没有父节点则返回Null值InnerText属性该节点的字节点标记OuterXml属性该节点和其子节点的标记NodeType属性返回一个XmlNodeType枚举类型的值,这个枚举可选项有Text、Attrbute、Element、Entity等Value属性根据节点类型(NodeType)返回值:Text返回文本的内容、Attribute返回属性的值
10、、Element返回Null、Entity返回Null等XmlDocument MyPhone = new XmlDocument();MyPhone.Load (Server.MapPath (“phone.xml);/获取根元素XmlElement root = MyPhone.DocumentElement;XmlElement phone = root.ChildNodes0;获取节点节点属性来自来自 中国最大的资料库下载中国最大的资料库下载13使用 Save 方法编写 XML 数据XmlDocument MyPhone = new XmlDocument();MyPhone.Load
11、(Server.MapPath(phone.xml);XmlElement newFriendsName = MyPhone.CreateElement( Name );newFriendsName.InnerText = 斯坦利;MyPhone.DocumentElement.InsertAfter( newFriendsName, MyPhone.DocumentElement.LastChild );XmlElement newFriendsNumber = MyPhone.CreateElement(Number);newFriendsNumber.InnerText = 777777
12、7;MyPhone.DocumentElement.InsertAfter( newFriendsNumber, MyPhone.DocumentElement.LastChild );XmlElement newFriendsCity = MyPhone.CreateElement(City);newFriendsCity.InnerText = 加利福尼亚;MyPhone.DocumentElement.InsertAfter( newFriendsCity, MyPhone.DocumentElement.LastChild);XmlElement newFriendsDOB = MyP
13、hone.CreateElement( DateOfBirth );newFriendsDOB.InnerText = 12/06/1984;MyPhone.DocumentElement.InsertAfter( newFriendsDOB, MyPhone.DocumentElement.LastChild );MyPhone.Save(Server.MapPath(phone1.xml);Response.Write(数据已写入!单击“加载”查看 Phone.xml);输出结果来自来自 中国最大的资料库下载中国最大的资料库下载14从 XML 文档中读取节点 2-1 从从 XML 文档中读
14、取节点文档中读取节点XmlReader提供对 XML 数据流的快速访问另一个派生类是 XmlValidatingReader(读取 XML 数据,并支持 DTD 和 Schema 验证)由用于读取基于文本的 XML 文件的 XmlTextReader 类实现一个抽象类用于确定各种因素(如节点的深度)来自来自 中国最大的资料库下载中国最大的资料库下载15从 XML 文档中读取节点 2-2 using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Xml;usin
15、g 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.WebControls.Label lblRecords; private void Page_Load(object sen
16、der, System.EventArgs e) string fileName = Server.MapPath (“Phone.xml “); XmlTextReader objXmlTextReader = new XmlTextReader(fileName); while(objXmlTextReader.Read() if (objXmlTextReader.NodeType = XmlNodeType.Element) if (objXmlTextReader.LocalName.Equals(Name) | objXmlTextReader.LocalName.Equals (
17、Number) lblRecords.Text += objXmlTextReader.ReadString() + t; 来自来自 中国最大的资料库下载中国最大的资料库下载16在 XML 文档中写入节点 2-1在在 XML 文档中写入节点文档中写入节点XmlWriterXML TextWriter 类派生自该类一个抽象类帮助创建 XML 流并将数据写入到格式良好的 XML 文档来自来自 中国最大的资料库下载中国最大的资料库下载17在 XML 文档中写入节点 2-2using System;using System.Collections;using System.ComponentModel
18、;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, System.Ev
19、entArgs e) string FileName = C:InetpubwwwrootaspexCH12phone.xml; XmlTextWriter objXmlTextWriter = new XmlTextWriter( FileName, null); objXmlTextWriter.Formatting = Formatting.Indented; objXmlTextWriter.Indentation= 6; objXmlTextWriter.WriteStartDocument(); objXmlTextWriter.WriteStartElement(, PhoneB
20、ook, ); objXmlTextWriter.WriteStartElement(, Name, ); objXmlTextWriter.WriteString(“加菲尔德); objXmlTextWriter.WriteEndElement(); objXmlTextWriter.WriteStartElement(, Number, ); objXmlTextWriter.WriteString(5555555); objXmlTextWriter.WriteEndElement(); objXmlTextWriter.WriteStartElement(, City, ); objX
21、mlTextWriter.WriteString(“纽约); objXmlTextWriter.WriteEndElement(); objXmlTextWriter.WriteStartElement(, DateOfBirth, ); objXmlTextWriter.WriteString(26/10/1978); objXmlTextWriter.WriteEndElement(); objXmlTextWriter.WriteEndElement(); objXmlTextWriter.WriteEndDocument(); objXmlTextWriter.Flush(); obj
22、XmlTextWriter.Close(); 输出结果来自来自 中国最大的资料库下载中国最大的资料库下载18使用XML验证读取器验证XML数据属性值属性值 说明说明 DTD 根据 DTD 规则验证文档Schema 根据 XSD Schema 验证文档XDR 根据 XDR Schema 验证文档None 不需要验证Auto 自动检测基于文档中声明的验证类型来自来自 中国最大的资料库下载中国最大的资料库下载19XML 和数据集 数据集数据集存储存储 XML 数据,而不数据,而不会引发任何错误会引发任何错误导入导入 System.IO 数据以数据以读取读取 XML 数据数据 列的值 列的值 列的值
23、列的值 数据集读取以下格式的数据:数据集读取以下格式的数据:来自来自 中国最大的资料库下载中国最大的资料库下载20使用 ReadXml 方法读取 XML 数据 2-1 FileStream myfs = new FileStream(Server.MapPath(xmldatagrid.xml),FileMode.Open, FileAccess.Read);如何打开 XML 文件打开文件之后,定义一个 StreamReader并把 FileStream传入StreamReader myreader = new StreamReader(myfs);数据集读取 StreamReader. Re
24、adXml() 方法中的 XML 数据DataSet myds = new DataSet();myds.ReadXml(myreader);需要将 XML 数据绑定到数据集DataView mySource = new DataView(myds.Tables0);dbgMyGrid.DataSource = mySource;dbgMyGrid.DataBind();来自来自 中国最大的资料库下载中国最大的资料库下载21使用 ReadXml 方法读取 XML 数据 .Net 开发者 精彩站点 学习 XML 与 ASP.NET Microsoft ASP.NET 官方网站 using Sys
25、tem;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;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;namespace CH12 public class ReadXml : System.Web.UI.Page
26、 protected System.Web.UI.WebControls.Label lblTableName;protected System.Web.UI.WebControls.DataGrid dgMyGrid;private void Page_Load(object sender, System.EventArgs e) DataSet myds = new DataSet(); FileStream myfs = new FileStream(Server.MapPath (xmldatagrid.xml),FileMode.Open, FileAccess.Read); Str
27、eamReader 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.DataBind(); 来自来自 中国最大的资料库下载中国最大的资料库下载22使用 WriteXML 方法写入 XML 数据using Sys
28、tem;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.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;namespace CH12 public class Writexml : System.Web.UI.Page
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关于足球讲话演讲稿
- 小学安全教育主题班会课件
- 合伙门窗店合同范例
- 《筹资业务核》课件
- 平凉河湖整治工程合同范例
- 充电桩铺设合同模板
- 售后整体返租合同范例
- 客服雇佣合同范例
- 度审计业务合同范例
- 医用口罩销售合同范例
- DB51T 3007-2023四川省农田生态沟渠构建技术规范
- 凝血基础知识专家讲座
- 王阳明心学课件
- 马克思主义基本原理概论(湖南师范大学)智慧树知到答案章节测试2023年
- 八年级数学竞赛题及标准答案解析
- 2023年江苏小高考历史试卷含答案1
- 输变电工程建设的标准强制性条文实施管理规程
- 2022年全国统一高考日语真题试卷及答案
- 物联网技术在军事上的应用:物联网与现代战争课件
- 部编语文二年级上册第8单元(生字)风娃娃-小学RJ
- HY/T 214-2017红树林植被恢复技术指南
评论
0/150
提交评论