操作xml的类比较多,发现XElement类操作xml极其方便,下面列举一些操作方法

1、创建xml

            XElement xml = new XElement("root",
new XElement("Parent",
new XElement("Me",
new XElement("son"),
new XElement("daughter")
)));

2、用Lambda表达式

            List<string> list = new List<string>(){
"Parent","Me","son"
}; XElement xml=new XElement("root",
list.Select(x=>new XElement(x))
); Console.WriteLine(xml);
            Dictionary<string, string> dic = new Dictionary<string, string>();
dic.Add("Name", "zhangsan");
dic.Add("Sex", "男");
dic.Add("Age", "");
XElement xml=new XElement("root",
dic.Select(x=>new XElement(x.Key,x.Value))
); Console.WriteLine(xml);

3、用字符串创建 ,这种我认为最为简单

            string str = "<Parent><Me>张三</Me></Parent>";
XElement xml = XElement.Parse(str); Console.WriteLine(xml);

4、属性

            XElement xml = new XElement("students",
new XElement("student",
new XAttribute("id", ""),
new XElement("name", "张三"),
new XElement("age", )));
            string str = "<students><student id=\"1\"><name>张三</name><age>12</age></student></students>";
XElement xml = XElement.Parse(str); Console.WriteLine(xml);

5、保存 xml

            string str = "<students><student id=\"1\"><name>张三</name><age>12</age></student></students>";
XElement xml = XElement.Parse(str); xml.Save("test.xml");

6、加载

            XElement xml = XElement.Load("test.xml");
Console.WriteLine(xml);

7、读取 xml

。。。。。{

 XElement xml = XElement.Load("test.xml");

            ForXml(xml);
} public static void ForXml(XElement x)
{
printXml(x);
foreach (var item in x.Elements())
{
ForXml(item);
}
}
public static void printXml(XElement x)
{
if (x == null)
return;
if (x.HasElements)
{
Console.WriteLine(x.Name);
}
else
{
Console.WriteLine(x.Name+":"+x.Value);
}
foreach (XAttribute attr in x.Attributes())
{
Console.WriteLine("\t"+attr.Name+":"+attr.Value);
}
}

8、查找某一值

            XElement xml = XElement.Load("test.xml");

            var item = xml.Descendants().Where(x =>
{
var attr = (int?)x.Attribute("id");
if (attr != null)
{
if (attr.Value == )
return true;
}
return false;
//if (x.Value == "张三")
//{
// return true;
//}
//else
//{
// return false;
//}
});
foreach (XElement x in item)
{
ForXml(x);
}

对xml的操作使用的类XElement的使用的更多相关文章

  1. C#XmlHelper操作Xml文档的帮助类

    using System.Xml; using System.Data; namespace DotNet.Utilities { /// <summary> /// Xml的操作公共类 ...

  2. [XML] C# XmlHelper操作Xml文档的帮助类 (转载)

    点击下载 XmlHelper.rar 主要功能如下所示 /// <summary> /// 类说明:XmlHelper /// 编 码 人:苏飞 /// 联系方式:361983679 // ...

  3. Xml通用操作类

    using System; using System.Collections.Generic; using System.IO; using System.Text; using System.Xml ...

  4. XML序列化 判断是否是手机 字符操作普通帮助类 验证数据帮助类 IO帮助类 c# Lambda操作类封装 C# -- 使用反射(Reflect)获取dll文件中的类型并调用方法 C# -- 文件的压缩与解压(GZipStream)

    XML序列化   #region 序列化 /// <summary> /// XML序列化 /// </summary> /// <param name="ob ...

  5. C# XML文件操作

    C# XML文件操作 运行环境:Window7 64bit,.NetFramework4.61,C# 6.0: 编者:乌龙哈里 2017-02-09 参考 LINQ to XML System.Xml ...

  6. VS2012 Unit Test —— 我对IdleTest库动的大手术以及对Xml相关操作进行测试的方式

    [1]我的IdleTest源码地址:http://idletest.codeplex.com/ [2]IdleTest改动说明:2013年10月份在保持原有功能的情况下对其动了较大的手术,首先将基本的 ...

  7. sql server中对xml进行操作

    一.前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型.用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列:此外,还允许带有变量和参数.为了更好地支持 XM ...

  8. C# XML流操作简单实例

    这里我们先介绍操作XML文件的两个对象:XmlTextReader和XmlTextWriter打开和读取Xml文件使用到的对象就是XmlTextReader对象.下面的例子打开了与程序在同一路径下的一 ...

  9. 对配置文件 xml 进行操作

    个人喜欢用 Linq 的方式来进行操作,方便快捷 <?xml version="1.0" encoding="utf-8" ?> <confi ...

随机推荐

  1. 20155209 2016-2017-2 《Java程序设计》第十周学习总结

    20155209 2016-2017-2 <Java程序设计>第十周学习总结 教材学习内容总结 计算机网络,是指分布在不同地理区域的计算机用通信线路互连起来的一个具有强大功能的网络系统.网 ...

  2. 20155233 《Java程序设计》 实验二 Java面向对象程序设计

    20155233 <Java程序设计> 实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L ...

  3. 20155310 《Java程序设计》实验四 (Android程序设计)实验报告

    20155310 <Java程序设计>实验四 (Android程序设计)实验报告 实验内容 1.基于Android Studio开发简单的Android应用并部署测试; 2.了解Andro ...

  4. 20145226夏艺华 EXP5 MSF基础应用

    实践目标 · 掌握metasploit的基本应用方式. · 具体需要完成 (1)ms08_067; (2)ms11_050: (3)Adobe (4)成功应用任何一个辅助模块. 报告 本次实验一共用到 ...

  5. 考研编程练习---StringMatching(后缀表达式)

    题目描述: Finding all occurrences of a pattern in a text is a problem that arises frequently in text-edi ...

  6. Luogu3804 【模板】后缀自动机

    题面 题解 一个串的出现次数等于$endpos$的大小,也是$parent$树上节点的$size$大小, 构建出后缀自动机,按拓补序,模拟即可. 代码 #include<cstdio> # ...

  7. DB知识点记录

    DB知识点记录 分页 SqlServer:ROW_NUMBER () over (ORDER BY ID) AS RN, MySql:limit Oracle:ROWNUM AS RN 数据表的基本结 ...

  8. GitHub中webhooks的使用

    目录 GitHub中的webhooks的配置 对配置的webhooks的进行测试 目前在团队在设计一个应用管理的功能,需要了解到常用代码托管的Webhooks的使用.GitHub中的webhooks首 ...

  9. 2018 ACM-ICPC World Finals - Beijing F.Go with the Flow

    先枚举所有的列长度 对于每种列长度,然后里面用dp算 #include <algorithm> #include <cmath> #include <cstdio> ...

  10. 排序(C语言实现)

    读数据结构与算法分析 插入排序 核心:利用的是从位置0到位置P都是已排序的 所以从位置1开始排序,如果当前位置不对,则和前面元素反复交换重新排序 实现 void InsertionSort(Eleme ...