好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

《在NET中处》PPT课件.ppt

24页
  • 卖家[上传人]:pu****.1
  • 文档编号:584076154
  • 上传时间:2024-08-30
  • 文档格式:PPT
  • 文档大小:1,005.50KB
  • / 24 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 在在.NET .NET 中处理中处理 XMLXML西源软件培训中心西源软件培训中心 回顾u跟踪是ASP.NET 引入的新功能,只需对页面和应用程序启用此功能,就可以查看有关单个ASP.NET 页请求的诊断信息u页面级跟踪具有一个称为 TraceMode 的属性,此属性接受 SortByCategory 或 SortByTime 属性值,以决定如何显示输出结果u应用程序级跟踪将启动对整个应用程序的跟踪需要在web.config配置文件中进行设置 回顾u缓存是一项在计算中广泛用来提高性能的技术,它将访问频率高的数据或构造成本高的数据保留在内存中u输出缓存将缓存整个页面,数据缓存将设置内存变量缓存u使用 VS.NET的“Web安装项目”可以将应用程序打包成易于部署的形式 目标u理解XMLDocument 结构u掌握 XML 命名空间中的 XMLDocument 对象u掌握XMLReader 和 XMLWriter 对象u掌握XMLValidatingReaderu了解填充 XML 文件中的数据集u掌握数据集创建 XML 文档 XML 文档结构标准 基于文本的数据标准通信XML用于定义语义标签的规则集合将文档分解为多个部分标识文档各部分元数据是定义用于定义其他特定于域的语义和结构化标记语言的语法用途 组织 XML 数据标识使用的版本 演示根元素的示例代码... Phonebook 元素具有开始标签  和结束标签1998 具有子元素  的 Phonebook 元素 System.Xml命名空间uSystem.Xml命名空间包含了处理Xml的类,以下是经常用到的类uXmlTextReader 类提供对 XML 数据的快速、非高速缓存的只进读访问uXmlValidatingReader 类提供 DTD、XDR 和 XSD Schema 验证uXmlTextWriter 类提供一种生成 XML 的快速只进方法uXmlDataDocument 类提供 XmlDocument 的实现,此 XmlDocument 可以与数据集关联。

      可以通过数据集的关系表示或 XmlDataDocument 的树表示,来同时查看和操作结构化的 XMLuXPathNavigator 类提供 W3C XPath 1.0 数据模型,而不是用于导航的光标样式模型的存储uXslTransform 类是一个 W3C XSLT 1.0 规范兼容的 XSLT 处理器,用于转换 XML 文档uXmlSchema 对象模型类提供一组直接反映 W3C XSD 规范的可导航类这些类支持在程序中创建 XSD Schema XMLDocument 对象内存内存内存内存XMLXML文档文档文档文档XMLXML 文档对象模型文档对象模型文档对象模型文档对象模型 (XML DOM) (XML DOM) 类类类类提供了对读取、写入和操作 XML 文档的支持XML XML 文档对文档对文档对文档对象象象象执行任务(如加载和保存文档) 包括 Load()、 LoadXML()  和 Save() 用于访问文档中的所有节点+ XML 节点类型DOM 节点类型节点类型 说明说明 文档(Document) 此节点类型是所有节点的容器,也称为文档的根根元素(DocumentElement)XmlDocument的根元素,一个Document只有一个DocumentElement文档类型(DocumentType)此节点类型表示 节点元素(XmlElement)此节点类型表示元素节点 属性(XmlAttribute)此节点类型表示元素节点的属性注释(XmlComment)此节点类型表示注释节点文本(XmlText)此节点类型表示属于特定节点或属性的文本 加载 XML 文档将 XML 文档加载到变量中Load( ) 方法如果不能解析或访问 URL从指定位置加载 XML 文档返回错误,并将文档对象的 documentElement 属性设置为 null 加载 XML 文档     加菲尔德        5555555            纽约                 26/10/1978       迈克           6666666             纽约                 12/02/1978private void Page_Load(object sender, System.EventArgs e){XmlDocument MyPhone = new XmlDocument();MyPhone.Load(@"C:\Inetpub\wwwroot\aspex\CH12\phone.xml");lblXmlData.Text = MyPhone.InnerXml.ToString();} 加载 XML 文档 LoadXML() 方法使用提供的字符串加载 XML 文档加载成功则返回 true  加载失败则返回 false,并将文档对象的 documentElement 属性设置为 nullXmlDocument MyPhone = new XmlDocument();string xmlString =  ""  + "加菲尔德"  + "5555555"  + "北京纽约"  + "26/10/1978"  + "迈克"  + "6666666"  + "纽约"  + "12/02/1978"+ "";MyPhone.LoadXml( xmlString ); 获取节点和节点属性节点属性节点属性说明说明 HasChildNodes属性继承自XmlNode,如果此节点具有子节点,则此属性为 TrueChildNodes属性继承自XmlNode,所有子节点的集合(NodeList)InnerXml属性节点和其子节点的串联值ParentNode 属性获取该节点的父节点,没有父节点则返回Null值InnerText属性该节点的字节点标记OuterXml属性该节点和其子节点的标记NodeType属性返回一个XmlNodeType枚举类型的值,这个枚举可选项有Text、Attrbute、Element、Entity等Value属性根据节点类型(NodeType)返回值:Text返回文本的内容、Attribute返回属性的值、Element返回Null、Entity返回Null等XmlDocument MyPhone = new XmlDocument();MyPhone.Load (Server.MapPath (“phone.xml"));//获取根元素XmlElement root = MyPhone.DocumentElement;XmlElement phone = root.ChildNodes[0];获取节点节点属性 使用 Save 方法编写 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 newFriendsNumber = MyPhone.CreateElement("Number");newFriendsNumber.InnerText = "7777777";MyPhone.DocumentElement.InsertAfter( newFriendsNumber, MyPhone.DocumentElement.LastChild );XmlElement newFriendsCity = MyPhone.CreateElement("City");newFriendsCity.InnerText = "加利福尼亚";MyPhone.DocumentElement.InsertAfter( 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"));Response.Write("数据已写入!单击“加载”查看 Phone.xml");输出结果 从 XML 文档中读取节点 从从 XML 文档中读取节点文档中读取节点XmlReader提供对 XML 数据流的快速访问另一个派生类是 XmlValidatingReader(读取 XML 数据,并支持 DTD 和 Schema 验证)由用于读取基于文本的 XML 文件的 XmlTextReader 类实现一个抽象类用于确定各种因素(如节点的深度) 从 XML 文档中读取节点using System;using System.Collections;using System.ComponentModel;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.WebControls.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.LocalName.Equals("Name")              || objXmlTextReader.LocalName.Equals ("Number"))                   {                       lblRecords.Text += objXmlTextReader.ReadString() + "\t";                   }              }             }        }    }} 在 XML 文档中写入节点在在 XML 文档中写入节点文档中写入节点XmlWriterXML TextWriter 类派生自该类一个抽象类帮助创建 XML 流并将数据写入到格式良好的 XML 文档 在 XML 文档中写入节点using System;using System.Collections;using System.ComponentModel;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.EventArgs e)        {            string FileName =                @"C:\Inetpub\wwwroot\aspex\CH12\phone.xml";            XmlTextWriter objXmlTextWriter = new XmlTextWriter(                FileName, null);            objXmlTextWriter.Formatting = Formatting.Indented;            objXmlTextWriter.Indentation= 6;            objXmlTextWriter.WriteStartDocument();            objXmlTextWriter.WriteStartElement("", "PhoneBook", "");            objXmlTextWriter.WriteStartElement("", "Name", "");            objXmlTextWriter.WriteString(“加菲尔德");    …             objXmlTextWriter.WriteEndElement();            objXmlTextWriter.WriteStartElement("", "Number", "");            objXmlTextWriter.WriteString("5555555");            objXmlTextWriter.WriteEndElement();            objXmlTextWriter.WriteStartElement("", "City", "");            objXmlTextWriter.WriteString(“纽约");            objXmlTextWriter.WriteEndElement();            objXmlTextWriter.WriteStartElement("", "DateOfBirth", "");            objXmlTextWriter.WriteString("26/10/1978");            objXmlTextWriter.WriteEndElement();            objXmlTextWriter.WriteEndElement();            objXmlTextWriter.WriteEndDocument();            objXmlTextWriter.Flush();            objXmlTextWriter.Close();        }    }} …输出结果 使用XML验证读取器验证XML数据属性值属性值 说明说明 DTD 根据 DTD 规则验证文档Schema 根据 XSD Schema 验证文档XDR 根据 XDR Schema 验证文档None 不需要验证Auto 自动检测基于文档中声明的验证类型 XML 和数据集 数据集数据集存储存储 XML 数据,而不数据,而不会引发任何错误会引发任何错误导入导入 System.IO 数据以数据以读取读取 XML 数据数据                          列的值                  列的值                                      列的值                   列的值           数据集读取以下格式的数据:数据集读取以下格式的数据: 使用 ReadXml 方法读取 XML 数据FileStream myfs = new FileStream(Server.MapPath("xmldatagrid.xml"),FileMode.Open, FileAccess.Read);如何打开 XML 文件打开文件之后,定义一个 StreamReader并把 FileStream传入StreamReader myreader = new StreamReader(myfs);数据集读取 StreamReader. ReadXml() 方法中的 XML 数据DataSet myds = new DataSet();myds.ReadXml(myreader);需要将 XML 数据绑定到数据集DataView mySource = new DataView(myds.Tables[0]);dbgMyGrid.DataSource = mySource;dbgMyGrid.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;using 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 myds = 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.Tables[0]);blTableName.Text = lblTableName.Text+mySource.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.Web.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=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 文件");}         }}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和数据集可以互相转换 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.