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