对xml的操作使用的类XElement的使用
操作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的使用的更多相关文章
- C#XmlHelper操作Xml文档的帮助类
using System.Xml; using System.Data; namespace DotNet.Utilities { /// <summary> /// Xml的操作公共类 ...
- [XML] C# XmlHelper操作Xml文档的帮助类 (转载)
点击下载 XmlHelper.rar 主要功能如下所示 /// <summary> /// 类说明:XmlHelper /// 编 码 人:苏飞 /// 联系方式:361983679 // ...
- Xml通用操作类
using System; using System.Collections.Generic; using System.IO; using System.Text; using System.Xml ...
- XML序列化 判断是否是手机 字符操作普通帮助类 验证数据帮助类 IO帮助类 c# Lambda操作类封装 C# -- 使用反射(Reflect)获取dll文件中的类型并调用方法 C# -- 文件的压缩与解压(GZipStream)
XML序列化 #region 序列化 /// <summary> /// XML序列化 /// </summary> /// <param name="ob ...
- C# XML文件操作
C# XML文件操作 运行环境:Window7 64bit,.NetFramework4.61,C# 6.0: 编者:乌龙哈里 2017-02-09 参考 LINQ to XML System.Xml ...
- VS2012 Unit Test —— 我对IdleTest库动的大手术以及对Xml相关操作进行测试的方式
[1]我的IdleTest源码地址:http://idletest.codeplex.com/ [2]IdleTest改动说明:2013年10月份在保持原有功能的情况下对其动了较大的手术,首先将基本的 ...
- sql server中对xml进行操作
一.前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型.用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列:此外,还允许带有变量和参数.为了更好地支持 XM ...
- C# XML流操作简单实例
这里我们先介绍操作XML文件的两个对象:XmlTextReader和XmlTextWriter打开和读取Xml文件使用到的对象就是XmlTextReader对象.下面的例子打开了与程序在同一路径下的一 ...
- 对配置文件 xml 进行操作
个人喜欢用 Linq 的方式来进行操作,方便快捷 <?xml version="1.0" encoding="utf-8" ?> <confi ...
随机推荐
- 20145310 《Java程序设计》第10周学习总结
20145310 <Java程序设计>第10周学习总结 教材学习内容总结 网络概述 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置 ...
- 可以用来求急的开源项目es5-shim
最近发现一个JS库,无法在IE8中运行.比较纠结,又不想另找个库代替它,还好发现了这玩意. 它的作用:就给傻逼浏览器做兼容性,使得傻逼浏览器可以支持一些 es5 的 api ...
- 属性文件操作之Properties与ResourceBundle
1.Properties与ResourceBundle 两个类都可以读取属性文件中以key/value形式存储的键值对,ResourceBundle读取属性文件时操作相对简单. 2.Propertie ...
- RDS for MySQL有哪些限制
原文来自:https://help.aliyun.com/knowledge_detail/41834.html 1.不支持在命令行创建数据库和数据库账号.只支持在RDS管理控制台操作. 2.不支持M ...
- node升级7.0以上版本使用gulp时报错
今天使用gulp时 ,出现了以下报错信息: Error: Cannot find module 'internal/fs'at Object.<anonymous> (/home/XXX/ ...
- Mac系统STF自动化环境搭建及部署踩坑记录
因为公司需要寻找一个免root的自动化测试方案,所以以前做的老方案需要被替代.一阵搜寻找到了这个框架,但是部署起来很是折腾,搞了一下午终于搞定,顺便记录一下过程,有需要的自取. 转载请注明出处:htt ...
- ADO.Net之SqlConnection、 Sqlcommand的应用
ADO.Net之SqlConnection. Sqlcommand的应用 SqlConnection 的介绍与应用 1.介绍与作用 SqlConnection是ADO.NET中的连接类. 使用sqlc ...
- phpldapadmin具体设置
一.需求 1.属性隐藏 只显示用户名,部门(因为是单OU设计为了做区分),登录密码 2.属性顺序显示 部门>用户名>登录密码 3.使用UID可以登陆 用户可以使用账户(自己的名字)登 ...
- Python 并行分布式框架:Celery 超详细介绍
本博客摘自:http://blog.csdn.net/liuxiaochen123/article/details/47981111 先来一张图,这是在网上最多的一张Celery的图了,确实描述的非常 ...
- Yii2 配置request组件解析 json数据
在基础版本的config目录下 web.php 或者高级版config目录下的main.php中配置 'components' =>[ 'request' => [ 'parsers' = ...