c#对xml的操作
操作xml可以通过XElement对象,比较方便的使用列举以下几点:
把字符串转变成XElement,保存成xml文件,加载xml文件:
//把字符串解析成XElement对象
string str = "<students><student><name>one</name></student><student><name>two</name></student><student><name>three</name></student></students>";
var xml = XElement.Parse(str);
//保存文件
xml.Save("1.xml");
Console.WriteLine("保存成功"); //读取文件
xml = XElement.Load("1.xml");
Console.WriteLine(xml);
集合创建XElement对象
class Program
{
static void Main(string[] args)
{
List<Person> list = new List<Person>()
{
new Person(){Id=,Name="张三"},
new Person(){Id=,Name="李四"},
new Person(){Id=,Name="王五"},
new Person(){Id=,Name="赵六"},
new Person(){Id=,Name="钱七"}
};
var xml = new XElement("Persons", list.Select(x => new XElement("name",x.Name)));
Console.WriteLine(xml);
}
}
public class Person
{
public int Id { get; set; }
public string Name { get; set; } }

2 、使用lamda查询xml值
xml文件如下:
<?xml version="1.0" encoding="utf-8" ?>
<AOnlineOrg>
<eSales>
<Member SortNo="1">
<Login>GUOXIN</Login>
<PositionID>1-25ISRB</PositionID>
<UserID>1-25ISRQ</UserID>
<BU>ICSF</BU>
</Member>
<Member SortNo="2">
<Login>LIUXIANG</Login>
<PositionID>1-196945</PositionID>
<UserID>1-19694A</UserID>
<BU>ICSF</BU>
</Member>
<Member SortNo="3">
<Login>QINYANG</Login>
<PositionID>1-10DAMN</PositionID>
<UserID>1-KJ3IA</UserID>
<BU>ICSF</BU>
</Member>
<Member SortNo="4">
<Login>XIAOCANFU</Login>
<PositionID>1-FKZUJF</PositionID>
<UserID>1-FKZUB5</UserID>
<BU>ICSF</BU>
</Member>
<Member SortNo="5">
<Login>XIAOHUAHU</Login>
<PositionID>1-JWZ3R</PositionID>
<UserID>1-JWZ4F</UserID>
<BU>ICSF</BU>
</Member>
<Member SortNo="6">
<Login>MANWEIZHAO</Login>
<PositionID>1-JDSX2</PositionID>
<UserID>1-1U5P9V</UserID>
<BU>IAG</BU>
</Member>
<Member SortNo="7">
<Login>LIJUANNIU</Login>
<PositionID>1-IABTN</PositionID>
<UserID>1-1PW39I</UserID>
<BU>IAG</BU>
</Member>
<Member SortNo="8">
<Login>QUANFANGZHOU</Login>
<PositionID>1-H1MFS</PositionID>
<UserID>1-ISATTR</UserID>
<BU>IAG</BU>
</Member>
<Member SortNo="9">
<Login>FENGYUANLI</Login>
<PositionID>1-DHZB5</PositionID>
<UserID>1-DI7M2</UserID>
<BU>IAG</BU>
</Member>
</eSales>
</AOnlineOrg>
上面xml文件保存为1.xml,查找其Member的属性SortNo的值小于3的Login值:
//加载
var xml = XElement.Load("1.xml");
//选择集合
var list = xml.Descendants("Member");
//查找xml中Member的属性SortNo的值小于3的Login值
var arr = list.Where(x => ((int)x.Attribute("SortNo")) < ).Select(x => x.Element("Login"));
foreach (var item in arr)
{
Console.WriteLine(item);
}
查找所有Login值
var xml = XElement.Load("1.xml");
//查找所有Login值
foreach (var item in xml.Descendants("Login"))
{
Console.WriteLine(item.Value);
}
把xml转成类对象集合
public class Person
{
public int SortNo { get; set; }
public string Login { get; set; }
public string PositionID { get; set; }
public string UserID { get; set; }
public string BU { get; set; }
}
var xml = XElement.Load("1.xml");
List<Person> list = new List<Person>();
foreach (var item in xml.Descendants("Member"))
{
if (item.HasElements)
{
list.Add(new Person
{
Login = item.Element("Login").Value,
PositionID = item.Element("PositionID").Value,
UserID = item.Element("UserID").Value,
BU = item.Element("BU").Value,
SortNo = (int)item.Attribute("SortNo")
});
}
}
foreach (var item in list)
{
Console.WriteLine(item.Login);
}
c#对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 ...
- 对XML的操作
对XML的操作主要使用到的语法示例: using System.Xml; private static string XmlMarketingStaff = AppDomain.CurrentDoma ...
- Xml通用操作类
using System; using System.Collections.Generic; using System.IO; using System.Text; using System.Xml ...
- C# XML流操作简单实例
这里我们先介绍操作XML文件的两个对象:XmlTextReader和XmlTextWriter打开和读取Xml文件使用到的对象就是XmlTextReader对象.下面的例子打开了与程序在同一路径下的一 ...
- SQL Server 2008 对XML 数据类型操作
原文 http://www.cnblogs.com/qinjian123/p/3240702.html 一.前言 从 SQL Server 2005 开始,就增加了 xml 字段类型,也就是说可以直接 ...
- 我来讲讲在c#中怎么进行xml文件操作吧,主要是讲解增删改查!
我把我写的四种方法代码贴上来吧,照着写没啥问题. 注: <bookstore> <book> <Id>1</Id> <tate>2010-1 ...
- 由“Jasperrpeorts 4.1.2升级到5.1.2对flex项目的解析”到AS3 带命名空间的XML的操作
原文同步至:http://www.waylau.com/from-jasperrpeorts-4-1-2-upgraded-to-5-1-2-parsing-of-flex-projects-to-t ...
- xml常用操作(js、sql、vb)
我们经常会用到xml操作,如下介绍了js.sql.vb等对xml的操作. JS创建xml对象 //创建对象 function getDataXML() { var objTds = $(&qu ...
- Python实现XML的操作
本文从以下两个方面, 用Python实现XML的操作: 一. minidom写入XML示例1 二. minidom写入XML示例2 三. ElementTree写入/修改示例 四. ElementTr ...
随机推荐
- 破解有道词典在线翻译接口--python
没什么好说的,直接上代码. import requests # import json import time import random import hashlib translate = inp ...
- .Net 面试题 汇总(六)
一.填空题 1.面向对象的语言具有(继承)性.(多态)性.(封装)性. 2.能用foreach遍历访问的对象需要实现 (IEnumberable)接口或声明(GetEnumberator)方法的类型. ...
- PHP.51-TP框架商城应用实例-前台3-楼层推荐、TP框架雪崩问题
楼层推荐 效果图 1.增加表字段 商品表 分类表 2.修改商品模型和分类模型接收字段is_floor 3.修改商品和分类相关的表单 4.后台制作推荐方法 4.1在分类模型中增加获取前台楼层数据的方 ...
- ORB-SLAM (四)Initializer单目初始化
一. 通过对极约束并行计算F和H矩阵初始化 VO初始化目的是为了获得准确的帧间相对位姿,并通过三角化恢复出初始地图点.初始化方法要求适用于不同的场景(特别是平面场景),并且不要进行人为的干涉,例如选取 ...
- jsp传递参数的四种方法
1.form表单 2.request.setAttribute();和request.getAttribute(); 3.超链接:<a herf="index.jsp"?a= ...
- 网易云易盾与A10 Networks达成战略合作 携手打造抗DDoS攻击的解决方案
欢迎访问网易云社区,了解更多网易技术产品运营经验. 2018年9月,网易云易盾宣布,与智能和自动化网络安全解决方案提供商A10 Networks结成战略合作伙伴关系.双方将在抗DDoS攻击领域展开深入 ...
- 追书神器API
由于自己喜欢看小说,有的时候不方便手机看的时候希望在电脑上面看,但很多网站有广告啊,于是封装了套手机版的追书神器API 目前只做了搜索 详情 书评 换源 正文 调用方式: //搜索小说 var sea ...
- 使用nmon监控得出网络实时速度以及最大、最小、平均网络传送速度
首先我们得搞清楚几个概念,即什么是网速?什么是带宽? 举两个个例子: 1.家里装网线,宽带提供商说我们的带宽是100兆. 2.用迅雷下载电影,迅雷显示实时的下载速度是每秒3兆,或者说是3MB/s. 这 ...
- 第六阶段·数据库MySQL及NoSQL实践 第2章·Redis
01-Redis简介 02-Redis基本安装启动 03-Redis的配置文件基本使用 04-Redis安全管理 05-Redis安全持久化-RDB持久化 06-Redis安全持久化-AOF持久化 0 ...
- 韦大仙--python对文件操作 2--写入与修改
请大家看一段代码: yesterday2是我之前上个帖子创建的文件,为了方便大家看清我把本来的代码复制到下面: coding=utf-8 f=open("yesterday2",& ...