1 / 7

在 XML 文档中写入节点 2-2

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 {

lazaro
Télécharger la présentation

在 XML 文档中写入节点 2-2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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(“加菲尔德"); … 在 XML 文档中写入节点 2-2 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(); } } } … 输出结果

  2. 使用XML验证读取器验证XML数据

  3. XML 和数据集 导入 System.IO 数据以读取 XML 数据 存储 XML 数据,而不会引发任何错误 数据集 数据集读取以下格式的数据: <DocumentElement> <TableName> <ColumnName1>列的值</ColumnName1> <ColumnName2>列的值</ColumnName2> </TableName> <TableName> <ColumnName1>列的值</ColumnName1> <ColumnName2>列的值</ColumnName2> </TableName> </DocumentElement>

  4. 使用 ReadXml 方法读取 XML 数据 2-1 如何打开 XML 文件 FileStream myfs = new FileStream(Server.MapPath ("xmldatagrid.xml"),FileMode.Open, FileAccess.Read); 打开文件之后,定义一个 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();

  5. 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(); } } } 使用 ReadXml 方法读取 XML 数据 </schema> <DocumentElement> <Headlines> <TickerInfo>.Net 开发者</TickerInfo> <TickerURL>www.microsoft.com</TickerURL> </Headlines> <Headlines> <TickerInfo>精彩站点</TickerInfo> <TickerURL>www.msn.com</TickerURL> </Headlines> <Headlines> <TickerInfo>学习 XML 与 ASP.NET</TickerInfo> <TickerURL>www.xmlforasp.net</TickerURL> </Headlines> <Headlines> <TickerInfo>Microsoft ASP.NET 官方网站</TickerInfo> <TickerURL>www.asp.net</TickerURL> </Headlines> </DocumentElement> </root> 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); <root> <schema id="DocumentElement" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xdo="urn:schemas-microsoft-com:xml-xdo" xdo:DataSetName="DocumentElement"> <element name="Headlines"> <complexType> <all> <element name="TickerInfo" type="string"></element> <element name="TickerURL" type="string"></element> </all> </complexType> </element>

  6. 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 文件 使用 WriteXML 方法写入 XML 数据 示例 6 演示了将数据从 SQL Server 2000 数据库中读取到数据集中,并将其以 XML 文件的形式进行保存。

  7. 总结 • XmlDocument 类给出 XML 文档的树表示,XmlDocument类允许操作 XML 文档 • 要在文本文件中读取和写入 XML 文档,则需要使用 XmlTextReader 和 XmlTextWriter 类。XmlTextReader和XmlTextWriter类和XmlDocument类比较,因为不需要把整个Xml文档读取到内存中,所以比XmlDocument占用资源少 • XmlValidatingReader 类提供 DTD、XML 数据简化 (XDR) 以及 XML Schema 验证服务,这些服务支持验证 XML 文档或 XML 文档的一部分 • Xml和数据集可以互相转换

More Related