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 ...
随机推荐
- Numpy 01
Infi-chu: http://www.cnblogs.com/Infi-chu/ import numpy as np # 创建的数组 stus_score = np.array([[80, 88 ...
- F. Make It Connected
题目链接:http://codeforces.com/contest/1095/problem/F 题意:给你n个点,每个点有个权值,如果在两点之间添一条边,代价为两点权值之和.现在给出m个边可以选择 ...
- 20145209刘一阳《网络对抗》实验五:MSF基础应用
20145209刘一阳<网络对抗>实验五:MSF基础应用 主动攻击 首先,我们需要弄一个xp sp3 English系统的虚拟机,然后本次主动攻击就在我们kali和xp之间来完成. 然后我 ...
- 20145234黄斐《Java程序设计》第二周学习总结
教材学习内容总结 类型 Java可区分为基本类型(Primitive Type)和类类型(Class Type),其中类类型也叫参考类型(Reference Type). 字节类型,也叫byte类型, ...
- 全国Uber优步司机奖励政策 (1月25日-1月31日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 全局脚手架了解一下【fle-cli】
本文来自网易云社区 介绍 fle-cli旨在帮助我们从复杂繁琐的编译配置中解放出来,全身心地投入业务开发中,提高开发效率. 它是真正意义上的全局脚手架,区别于市面上其他的全局脚手架,它不会在项目工程中 ...
- 华硕N43sl VNP 连接问题 800 807 621
使用VPN 创建连接,在我自己的电脑上死活连接不上,换到别人的电脑就是可以妥妥的连接. 换了几多个IP都是800错误,经过测试都不能连接.于是开始排查,把防火墙关闭,把杀毒软件关闭, 在开始命令 输入 ...
- CentOS 7.2静默安装Oracle11g
Preface Today I'm gonna export some test data to another server.The source server is Windows ...
- Selenium自动化测试第一天(下)
如有任何学习问题,可以添加作者微信:lockingfree 目录 Selenium自动化测试基础 Selenium自动化测试第一天(上) Selenium自动化测试第一天(下) Selenium自动化 ...
- Unity OBB分包(基础APK+OBB) 与apk签名
1.OBB (Opaque Binary Blob)文件格式,是安卓游戏通用数据包.在一些大型游戏上较为常见,同时还附以Data文件,亦或是md5.dat文件出现 产生原因:由于某些平台对于apk上传 ...