操作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. 20155210 潘滢昊 Java第三次实验

    Java第三次实验 实验内容 在IDEA中使用工具(Code->Reformate Code)把代码重新格式化 在码云上把自己的学习搭档加入自己的项目中,确认搭档的项目加入自己后,下载搭档实验二 ...

  2. 20155305乔磊2016-2017-2《Java程序设计》第四周学习总结

    20155305乔磊2016-2017-2<Java程序设计>第四周学习总结 教材学习内容总结 继承 继承就是避免多个类间重复定义共同行为. 面向对象中,子类继承父类,就是把程序中相同的代 ...

  3. 20155319 《Java程序设计》实验一(Java开发环境的熟悉)实验报告

    20155319 <Java程序设计>实验一(Java开发环境的熟悉)实验报告 一.实验内容及步骤 (一)使用JDK编译.运行简单的java程序 命令行下的程序开发 步骤一:打开mac下的 ...

  4. 20155320《Java程序设计》实验一(Java开发环境的熟悉)实验报告

    20155320<Java程序设计>实验一(Java开发环境的熟悉)实验报告 实验内容及步骤 (一)命令行下Java程序开发 步骤一:首先在cmd中输入d:和cd ljq20155320进 ...

  5. 《Java 程序设计》课堂实践项目-命令行参数

    <Java 程序设计>课堂实践项目 课后学习总结 目录 改变 命令行参数实验要求 课堂实践成果 课后思考 改变 修改了博客整体布局,过去就贴个代码贴个图很草率,这次布局和内容都有修改.加了 ...

  6. swift 解决tableView的Y值偏移64问题

    // 起始坐标按0点开始计算 self.edgesForExtendedLayout = UIRectEdge.init(rawValue: 0) // tableView的坐标系 tableView ...

  7. 【转载】TCP/IP 之 大明王朝邮差

    原文:TCP/IP 之 大明王朝邮差 原创 2016-05-12 刘欣 码农翻身 前言: 本文主要想说一下TCP的知识, 比喻有不恰当之处,敬请包涵. 大明王朝天启四年, 清晨. 天色刚蒙蒙亮,我就赶 ...

  8. 【CF908G】New Year and Original Order

    [CF908G]New Year and Original Order 题面 洛谷 题解 设\(f[i][j][k][l]\)表示当前在第\(i\)位有\(j\)位大于等于\(k\),当前有没有卡上界 ...

  9. L012-linux系统文件属性知识深入详解小结

    L012-linux系统文件属性知识深入详解小结 最近的学习重点不在这上面,所以更新的比较慢,再加上母亲住院,感情问题,一系列吧,愿快点度过这黑色的4月份,希望我能在5月份阳光起来,加油! 回归正题 ...

  10. 数据库路由中间件MyCat - 源代码篇(15)

    此文已由作者张镐薪授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. public static void handle(String stmt, ServerConnectio ...