linq to xml操作XML(转)
转自:http://www.cnblogs.com/yukaizhao/archive/2011/07/21/linq-to-xml.html
LINQ to XML提供了更方便的读写xml方式。前几篇文章的评论中总有朋友提,你为啥不用linq to xml?现在到时候了,linq to xml出场了。
class Program { static void Main( string [] args) { var xDoc = new XDocument( new XElement( "root" , new XElement( "dog" , new XText( "dog said black is a beautify color" ), new XAttribute( "color" , "black" )), new XElement( "cat" ), new XElement( "pig" , "pig is great" ))); //xDoc输出xml的encoding是系统默认编码,对于简体中文操作系统是gb2312 //默认是缩进格式化的xml,而无须格式化设置 xDoc.Save(Console.Out); Console.Read(); } } |
<? xml version="1.0" encoding="gb2312"?> < root > < dog color="black">dog said black is a beautify color</ dog > < cat /> < pig >pig is great</ pig > </ root > |
class Program { static void Main( string [] args) { var xDoc = new XDocument( new XElement( "root" , new XElement( "dog" , new XText( "dog said black is a beautify color" ), new XAttribute( "color" , "black" )), new XElement( "cat" ), new XElement( "pig" , "pig is great" ))); //xDoc输出xml的encoding是系统默认编码,对于简体中文操作系统是gb2312 //默认是缩进格式化的xml,而无须格式化设置 xDoc.Save(Console.Out); Console.WriteLine(); var query = from item in xDoc.Element( "root" ).Elements() select new { TypeName = item.Name, Saying = item.Value, Color = item.Attribute( "color" ) == null ?( string ) null :item.Attribute( "color" ).Value }; foreach ( var item in query) { Console.WriteLine( "{0} 's color is {1},{0} said {2}" ,item.TypeName,item.Color?? "Unknown" ,item.Saying?? "nothing" ); } Console.Read(); } } |
3. Linq to xml简单的应用
应用需求: 读取博客园的rss,然后在页面上输出最新的10篇博客信息
实现要点: 通过XDocument的Load静态方法载入Xml,通过linq查询最新10条数据
代码如下:
<%@ Page Language="C#" AutoEventWireup="true" %> < script runat="server"> protected override void OnLoad(EventArgs e) { //实际应用,通过读取博客园的RSS生成Html代码显示最新的博客列表 //使用XDocument的Load静态方法载入Xml //玉开技术博客 http://www.cnblogs.com/yukaizhao var rssXDoc = XDocument.Load("http://www.cnblogs.com/rss"); //使用linq to xml查询前10条新博客 var queryBlogs = (from blog in rssXDoc.Descendants("item") select new { Title = blog.Element("title").Value, Url = blog.Element("link").Value, PostTime = DateTime.Parse(blog.Element("pubDate").Value) }).Take(20); repeaterBlogs.DataSource = queryBlogs; repeaterBlogs.DataBind(); base.OnLoad(e); } </ script > <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> < html xmlns="http://www.w3.org/1999/xhtml"> < head runat="server"> < title >Linq to Xml 实例</ title > </ head > < body > < ol > < asp:Repeater ID="repeaterBlogs" EnableViewState="false" runat="server"> < ItemTemplate > < li >< span style="float: right"> <%#Eval("PostTime") %></ span >< a href="<%#Eval("Url") %>"><%#Eval("Title") %></ a ></ li > </ ItemTemplate > </ asp:Repeater > </ ol > </ body > </ html > |
linq to xml操作XML(转)的更多相关文章
- 使用dom4j处理xml操作xml数据
使用dom4j处理xml操作xml数据 示例代码: public class TestDom4j { public static void main(String[] args) { String x ...
- Linq To Xml操作XML增删改查
对XML文件的操作在平时项目中经常要运用到,比如用于存放一些配置相关的内容:本文将简单运用Linq TO Xml对XML进行操作,主要讲解对XML的创建.加载.增加.查询.修改以及删除:重点在于类XD ...
- Linq to XML操作XML文件
LINQ的类型 在MSDN官方文件中,LINQ分为几种类型: . LINQ to Objects(或称LINQ to Collection),这是LINQ的基本功能,针对集合对象进行查询处理,包括基本 ...
- 4.Linq To Xml操作XML增删改查
转自https://www.cnblogs.com/wujy/p/3366812.html 对XML文件的操作在平时项目中经常要运用到,比如用于存放一些配置相关的内容:本文将简单运用Linq TO X ...
- 使用Linq快速的操作XML
开始内容之前先分享一段话 有时候,当你知道要做什么的时候就做的很快,比如你要实现个功能,码字的活儿不算很难,做个检索也不会有什么难倒你的.但是,做着做着,你发现好像世界上的工作都在重复,于是你有种心要 ...
- C#操作Xml:linq to xml操作XML
LINQ to XML提供了更方便的读写xml方式.前几篇文章的评论中总有朋友提,你为啥不用linq to xml?现在到时候了,linq to xml出场了. .Net中的System.Xml.Li ...
- PHP使用DOM XML操作XML[总结]
1.前言 XML树状层次结构鲜明,非常适合作为配置文件.PHP中可以使用DOM XML来操作XML.本文总结一下PHP使用DOM XML创建.添加节点.查询XML文件. 2.使用DOM XML XML ...
- LINQ系列:LINQ to XML操作
LINQ to XML操作XML文件的方法,如创建XML文件.添加新的元素到XML文件中.修改XML文件中的元素.删除XML文件中的元素等. 1. 创建XML文件 string xmlFilePath ...
- Jquery重新学习之六[操作XML数据]
上一章整理有关Jquery操作JSON格式数据,本章则是整理Jquery与XML的交互,因为XML简单易用及运用在很跨平台上的优点,所以项目运用Jquery操作XML还是比较常见:下面的代码来自Jqu ...
随机推荐
- java获取整数的各位数值
第一种是取模运算 int qian =input/1000; //千位除以1000 int bai = input/100%10;//百位除以100%10 int shi = input%100/10 ...
- Hrbust 2363 Symmys (Manacher + DP)
题目链接 Hrbust 2363 来源 “科林明伦杯”哈尔滨理工大学第七届程序设计团队赛 Problem J 题意 给出一个长度为$1e6$的字符串,求最小可重回文子串覆盖数量 首先Manach ...
- Hdoj 2509 Be the Winner
Diciption Let's consider m apples divided into n groups. Each group contains no more than 100 apples ...
- [LOJ6235]区间素数个数
题目大意: 给定$n(n\leq10^{11})$,求$\pi(n)$. 思路: 计算$\pi$函数有$O(n^{\frac23})$的Lehmer算法,这里考虑$O(\frac{n^{\frac34 ...
- 分治法寻找第k大的数
利用快速排序的思想·去做 #include<iostream>using namespace std;int FindKthMax(int*list, int left, int righ ...
- json-path解析json方便可靠
JsonPath is to JSON what XPATH is to XML, a simple way to extract parts of a given document. JsonPat ...
- 14. Spring Boot定时任务的使用【从零开始学Spring Boot】
com.kfit.base.scheduling.SchedulingConfig: package com.kfit.base.scheduling; import org.springframew ...
- MongoDB基本文件操作
MongoDB中主要的文件操作有put.get.list.search几种.能够非常方便地进行文件存储于查找,下面是一个简单的演示样例. 1.利用dd命令生成要求大小随机文件 2.使用put命令将生 ...
- 高速掌握Lua 5.3 —— Lua与C之间的交互概览
Q:什么是Lua的虚拟栈? A:C与Lua之间通信关键内容在于一个虚拟的栈.差点儿全部的调用都是对栈上的值进行操作,全部C与Lua之间的数据交换也都通过这个栈来完毕.另外,你也能够使用栈来保存暂时变量 ...
- cocos2d-x 3.0 内存管理机制
***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...