ASP.Net学习之XML读写操作(1)

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" >

    无标题页


    

    

         

                    Text="方法一" />
                    Text="方法二" />
        
        
        

        

        

        

        

        

        

        
        

    





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
  






上一篇: 烦闷八月
下一篇: GridView增加一个统计行的方法
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 1 | 引用: 344 | 查看次数: 42528
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 30 字 | UBB代码 关闭 | [img]标签 关闭