Linq to XML

Linq to XML 是用来对于 XML 进行读取和修改的一种技术,

下面只是简单的介绍一下其中的一个方法 XDocument ,

事实上,在对 XML 进行处理时,

您完全可以凭借在 System.Xml 命名空间下的那些类的操作手法来操作,

因为在 System.Xml.Linq 下对 Xml 的操作和 System.Xml 下的操作手法差不多,

不过使用 Linq to XML 主要是用来完成对 XML 的查询操作的,

而在 System.Xml 下则没有这东西,我这里说的主要是两者在语法上,

以及类名和方法的使用上会有相似之处而已,

还是简单的看一个 Demo 吧,

Demo 非常简单,就是使用 Linq to XML 技术

将服务器上的一个 XML 文件加载到 GridView 控件上进行显示而已,

先看一下 XML 文件吧

<?xml version="1.0" encoding="utf-8" ?>
<Person>
  <Student id="43250178434783">
    <Name>
      XiaoZhen
    </Name>
    <Sex>
      男     
    </Sex>
    <Age>
      20
    </Age>
  </Student>

  <Student id="43250478434783">
    <Name>
      BaoBei
    </Name>
    <Sex>
      女
    </Sex>
    <Age>
      21
    </Age>
  </Student>

  <Student id="43252178434783">
    <Name>
      XiaoWang
    </Name>
    <Sex>
      女
    </Sex>
    <Age>
      21
    </Age>
  </Student>

  <Student id="42250178434783">
    <Name>
      BaoBeiMe
    </Name>
    <Sex>
      男
    </Sex>
    <Age>
      20
    </Age>
  </Student> 
</Person>

然后再来看一下 Code-Behind 吧

using System;
using System.Linq;
using System.Web;
using System.Xml.Linq;

namespace CSharpLanguage
{
    public partial class Demo__10 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string path = HttpContext.
                Current.Server.MapPath("~/Demo10UseStudent.xml");
            XDocument xDoc = XDocument.Load(path);
            var result = from p in xDoc.Element("Person").Elements()
                         select new
                         {
                             ID = (string)p.Element("Name"),
                             Name = (string)p.Element("Sex"),
                             Age = (int)p.Element("Age")
                         };

            GridView1.DataSource = result;
            GridView1.DataBind();
        }
    }
}

而结果呢就是

image

在这里我只是很简单很简单的介绍了 Linq to XML 的用法,

详细的用法估计以后也会陆陆续续的出来的。

                                            2010—2—01

 

posted @ 2010-03-01 13:23  小宝马的爸爸  阅读(376)  评论(0编辑  收藏  举报