ASP.Net学习之XML读写操作(1)
作者:admin 日期:2006-08-26
Cmb Project这项目的关键部分就是在于XML的操作,包括生成xml与写入xml,在asp.net2.0中,Dot.net对xml的操作比asp.net1.0有了更强的功能.由于对XML并不太熟悉,只能临时抱着书本看,对着操作,这里强烈推荐一本好书《Professional ASP.NET 2.0 XML》(英文版),这些天一直看着这本书,很受益喔。结合自己看到其它方面的资料,我把XML最基本的读写操作相关的弄出来,希望大家多多指教!
软件环境:visualstudio.net2005 EditPlus2.12
操作系统: windowsXpsp2
说明:本文所有代码均在asp.net2.0下运行正常
1. 对xml的读入操作
Xml的读入操作最简单的方法最就通过visual studio工具箱里面的xml控件了。不过,根据高人总结,一般的xml读入有几种方法,我把他做在一个页面里,大家可以看一下,都有相关的注释:)
读取XML数据方法一:通过XML控件来实现
读取XML数据方法二:利用xmlDocument对象
读取XML数据方法三:利用DataSet对象
我把这三种方法写在了一个页面里头,并注有相关注释
在page页面里的代码如下
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ReadXml.aspx.cs" Inherits="ReadXml" %>
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
http://www.w3.org/1999/xhtml" >
无标题页
page.cs代码如下
ReadXml.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml; /*注意引用命名空间 System.Xml */
using System.Xml.Xsl; /* 注意引用命名空间 System.Xml.Xsl */
using System.Xml.XPath;
using System.Data.OleDb;
public partial class ReadXml : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
///
/// 读取XML数据方法一:通过XML控件来实现
/// Xml.DocumentSoure属性:获取或设置要在 Xml 控件中显示的 XML 文档的路径
/// TransformSouce属性是:获取或设置扩展样式表语言转换 (XSLT) 样式表的路径,该样式表在 XML 文档被写入输出流之前对其进行格式化。
///
///
private void ReadXmlMethod1()
{
this.XmlGet.DocumentSource = Server.MapPath("stockinfo.xml");
this.XmlGet.TransformSource = Server.MapPath("stockinfo.xsl");
this.XmlGet.Visible = true;
}
///
/// 读取XML数据方法二:利用xmlDocument对象
/// XmlDataDocument 类是 XmlDocument 的派生类,包含 XML 数据。XmlDataDocument 的优势是在关系数据和分层数据之间架起了桥梁。它是一个可绑定到 DataSet 的 XmlDocument,这两个类可以同步对其中所包含的数据的更改。绑定到 DataSet 的 XmlDocument 允许 XML 与关系数据集成,您不必将数据表示为 XML 格式或关系格式。您可以用这两种格式表示数据,而不是限于一种数据表示形式。
/// 这种是常用在vs2003.net里的,在vs2005中会提示过时的用法
///
///
private void ReadXmlMethod2()
{
XmlDocument Xdoc = new XmlDocument();
Xdoc.Load(Server.MapPath("stockinfo.xml"));
XslTransform Xslt = new XslTransform();
Xslt.Load(Server.MapPath("stockinfo.xsl"));
this. XmlGet.Document = Xdoc;
this.XmlGet.Visible = true;
}
///
/// 读取XML数据方法三:利用DataSet对象
///
private void ReadXmlMethod3()
{
DataSet DstXml = new DataSet();
DstXml.ReadXml(Server.MapPath("stockinfo.xml"));
reptGetXml.DataSource = DstXml.Tables;
reptGetXml.DataBind();
}
protected void btnReadXmlMethod2_Click(object sender, EventArgs e)
{
this.ReadXmlMethod2();
}
protected void btnReadXmlMethod1_Click(object sender, EventArgs e)
{
this.ReadXmlMethod1();
}
protected void btnReadXmlMethod3_Click(object sender, EventArgs e)
{
this.ReadXmlMethod3();
this.reptGetXml.DataBind();
}
}
XML文件如下:
22
23
0
22
23
0
111111
11
0
23
234
0
23
234
0
444
asdfa
0
22
22
0
软件环境:visualstudio.net2005 EditPlus2.12
操作系统: windowsXpsp2
说明:本文所有代码均在asp.net2.0下运行正常
1. 对xml的读入操作
Xml的读入操作最简单的方法最就通过visual studio工具箱里面的xml控件了。不过,根据高人总结,一般的xml读入有几种方法,我把他做在一个页面里,大家可以看一下,都有相关的注释:)
读取XML数据方法一:通过XML控件来实现
读取XML数据方法二:利用xmlDocument对象
读取XML数据方法三:利用DataSet对象
我把这三种方法写在了一个页面里头,并注有相关注释
在page页面里的代码如下
复制内容到剪贴板 程序代码
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ReadXml.aspx.cs" Inherits="ReadXml" %>
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
http://www.w3.org/1999/xhtml" >
page.cs代码如下
复制内容到剪贴板 程序代码
ReadXml.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml; /*注意引用命名空间 System.Xml */
using System.Xml.Xsl; /* 注意引用命名空间 System.Xml.Xsl */
using System.Xml.XPath;
using System.Data.OleDb;
public partial class ReadXml : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
///
/// 读取XML数据方法一:通过XML控件来实现
/// Xml.DocumentSoure属性:获取或设置要在 Xml 控件中显示的 XML 文档的路径
/// TransformSouce属性是:获取或设置扩展样式表语言转换 (XSLT) 样式表的路径,该样式表在 XML 文档被写入输出流之前对其进行格式化。
///
///
private void ReadXmlMethod1()
{
this.XmlGet.DocumentSource = Server.MapPath("stockinfo.xml");
this.XmlGet.TransformSource = Server.MapPath("stockinfo.xsl");
this.XmlGet.Visible = true;
}
///
/// 读取XML数据方法二:利用xmlDocument对象
/// XmlDataDocument 类是 XmlDocument 的派生类,包含 XML 数据。XmlDataDocument 的优势是在关系数据和分层数据之间架起了桥梁。它是一个可绑定到 DataSet 的 XmlDocument,这两个类可以同步对其中所包含的数据的更改。绑定到 DataSet 的 XmlDocument 允许 XML 与关系数据集成,您不必将数据表示为 XML 格式或关系格式。您可以用这两种格式表示数据,而不是限于一种数据表示形式。
/// 这种是常用在vs2003.net里的,在vs2005中会提示过时的用法
///
///
private void ReadXmlMethod2()
{
XmlDocument Xdoc = new XmlDocument();
Xdoc.Load(Server.MapPath("stockinfo.xml"));
XslTransform Xslt = new XslTransform();
Xslt.Load(Server.MapPath("stockinfo.xsl"));
this. XmlGet.Document = Xdoc;
this.XmlGet.Visible = true;
}
///
/// 读取XML数据方法三:利用DataSet对象
///
private void ReadXmlMethod3()
{
DataSet DstXml = new DataSet();
DstXml.ReadXml(Server.MapPath("stockinfo.xml"));
reptGetXml.DataSource = DstXml.Tables;
reptGetXml.DataBind();
}
protected void btnReadXmlMethod2_Click(object sender, EventArgs e)
{
this.ReadXmlMethod2();
}
protected void btnReadXmlMethod1_Click(object sender, EventArgs e)
{
this.ReadXmlMethod1();
}
protected void btnReadXmlMethod3_Click(object sender, EventArgs e)
{
this.ReadXmlMethod3();
this.reptGetXml.DataBind();
}
}
XML文件如下:
复制内容到剪贴板 程序代码
评论: 1 | 引用: 344 | 查看次数: 42528
发表评论