黄聪:Linq初级班 Linq To XML体验(高级编程篇)
2010-12-31 16:08
513 查看
Linq初级班 Linq To XML体验(高级编程篇)
首先,我们在Linq初级班 Linq To XML体验(基础)和Linq初级班 Linq To XML体验(编程篇)了解了一些XML的基本知识以及如何用LINQ to XML对XML文档进行简单的操作,本文将继续深入LINQ to XML,做一些高级编程的演示.我也是LINQ的初学者,文章中不免会有一些不对的地方,希望高手们多多指点,为我们LINQ初学者们多提宝贵的意见,我也会继续努力的,本文章目录如下所示:
目录1.Linq to XML函数构造
2.Linq to XML批注
3.Linq to XML轴
4.Linq to XML事件
1.Linq to XML函数构造
函数构造是指通过单个语句构建XML树的能力.在Linq初级班 Linq To XML体验(编程篇)中我们已经体验了如何使用XElement和XAttribute类手工创建XML树,也可以通过其他XElement和XAttribute对象传递给XElement类的构造函数来创建子元素和属性,也就是说,LINQ查询的结果可以用来创建XML树,下面就来看看一个演示:
代码//-----------------------------------------------------------
// All Rights Reserved , Copyright (C) 2010 ,黄聪 , Ltd .
//-----------------------------------------------------------
using System;
using System.Xml.Linq;
using System.Linq;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
XElement xel = new XElement(new XElement("Root",
new XElement("Person",
new XElement("Name", "Huang Cong"),
new XElement("Sex","男"),
new XElement("Age",12)))
);
xel.Changing += new EventHandler<XObjectChangeEventArgs>(xel_Changing);
xel.Changed += new EventHandler<XObjectChangeEventArgs>(xel_Changed);
//修改Person元素的Age元素值
xel.Element("Person").SetElementValue("Age", 22);
}
static void xel_Changed(object sender, XObjectChangeEventArgs e)
{
Console.WriteLine("触发Changed事件:");
Console.WriteLine("ChangedValue:{0} \tObjectChange:{1}", ((XNode)sender).ToString(), e.ObjectChange);
Console.WriteLine("------------------------------------");
}
static void xel_Changing(object sender, XObjectChangeEventArgs e)
{
Console.WriteLine("触发Changing事件:");
Console.WriteLine("ChangingValue:{0} \tObjectChange:{1}", ((XNode)sender).ToString(), e.ObjectChange);
Console.WriteLine("------------------------------------");
}
}
}
运行结果:
警告:不允许在被触发事件的执行过程中修改XML树,特别不要在事件中修改触发事件发生的节点,因为这会导致不可预测的结果.不过可以在事件中修改另外一个XML树.
小结:
LINQ to XML提供了大量方便的方法和接口给开发人员操作XML文档,这大大的提高了开发效率,希望本章的内容对你有所帮助哈,我也是LINQ的初学者,文章中不免会有一些不对的地方,希望高手们多多指点,为我们LINQ初学者们多提宝贵的意见,我也会继续努力的~~
相关文章1.LinQ初体验 简单的示例(原创)
2.Linq初体验 Linq2SQL示例(原创)
3.Linq推迟查询的执行(原创)
4.Ling初体验 匿名类型在查询表达式中的使用
5.Linq初级班 标准查询操作符的使用和调用
6.Linq初级班 Linq To XML体验(编程篇)
7.Linq初级班 Linq To XML体验(基础篇)
8.Linq初级班 Linq To XML体验(高级编程篇)
相关文章推荐
- 黄聪:Linq初级班 Linq To XML体验(编程篇)
- 黄聪:Linq初级班 Linq To XML体验(基础篇)
- 黄聪:Linq初级班 Linq to DataSet体验(单表、多表联合查询JOIN语法)
- LinqToXml高级用法介绍
- LINQ体验(二)LINQ to XML
- LINQ to XML
- Linq To Xml学习-起源与实用
- LINQ to XML 编程基础
- 使用linq to xml 快速创建自己的Rss -- 转载自 半途 blog
- LINQ体验(11)——LINQ to SQL语句之Null语义和String/DateTime方法
- LINQ体验(8)——LINQ to SQL语句之Union All/Union/Intersect和Top/Bottom和Paging和SqlMethods
- xml to linq C#实例 类和xml文件互转换
- LINQ之路21:LINQ to XML之生成X-DOM(Projecting)
- LINQ to XML
- Entity Framework 学习初级篇3-- LINQ TO Entities
- Preview Word files (docx) in HTML using ASP.NET, OpenXML and LINQ to XML
- Linq to xml demo
- Entity Framework 学习初级篇3-- LINQ TO Entities
- linq To Xml 用法简介
- Linq to XML