linq to xml基础

下面分别用增、删、改几段代码来说怎么用linq怎么操作xml。首先引用using System.Xml.Linq;本文主要介绍XDocument 、XElement、XAttribute的操作方式

1、创建xml,使用XElement来创建元素节点,XAttribute来创建属性,通过XDocument来保存到指定的位置。如下面代码所示:

 1  XDocument xdocc = new XDocument();
 2             XElement root = new XElement("Root",
 3                       new XElement("Student",
 4                               new XAttribute("StudentId", "1"),
 5                       new XElement("UserInfro",
 6                               new XAttribute("UserName", "张三"),
 7                               new XAttribute("Sex", ""),
 8                               new XAttribute("Profession", "计算机")
 9                     ),
10                       new XElement("UserLogs",
11                               new XAttribute("BeginTime", "2010-8-01"),
12                             new XAttribute("EndTime", ""),
13                             new XAttribute("UserInfor", "")
14                             )
15                         )
16                     );
17             xdocc.Add(root);
18             xdocc.Save("C:\\Student.xml");

直接双击打开已创建的xml结果如下:(额,我的windows8下操作的时候提示对指定路径的操作被拒绝,右键已管理员身份运行就好了)


 <?xml version="1.0" encoding="UTF-8"?>
 <Root>
     <Student StudentId="1">
       <UserInfro Profession="计算机" Sex="" UserName="张三"/>
      <UserLogs UserInfor="" EndTime="" BeginTime="2010-8-01"/>
    </Student>
</Root>

2、修改已经创建的XML文档,使用SetAttributeValue修改属性,使用SetElementValue修改元素,保存到原来的位置。

1  string path = "C:\\Student.xml";
2             XDocument xdoc = new XDocument();
3             XElement root = XElement.Load(path);
4             //修改属性
5             root.Element("Student").Element("UserInfro").SetAttributeValue("UserName", "李四");
6             //修改元素
7             root.SetElementValue("UserLogs", "学生信息日志");
8             xdoc.Add(root);
9             xdoc.Save(path);

修改后结果如下:

<?xml version="1.0" encoding="UTF-8"?>
<Root>
    <Student StudentId="1">
        <UserInfro Profession="计算机" Sex="" UserName="李四"/><UserLogs UserInfor="" EndTime="" BeginTime="2010-8-01"/></Student>
<UserLogs>学生信息日志</UserLogs>
</Root>    

3、使用Remove关键字删除已有XML文档中指定的元素或者属性。

1        string path = "C:\\Student.xml";
2             XDocument xdoc = new XDocument();
3             XElement root = XElement.Load(path);
4             root.Element("UserLogs").Remove();
5             root.Element("Student").Element("UserInfro").Attribute("Profession").Remove();
6             xdoc.Add(root);
7             xdoc.Save(path);

删除后结果如下:

<?xml version="1.0" encoding="UTF-8"?>
<Root>
<Student StudentId="1">
    <UserInfro Sex="" UserName="李四"/>
    <UserLogs UserInfor="" EndTime="" BeginTime="2010-8-01"/>
</Student>
</Root>

 

posted @ 2013-05-31 02:21  放羊娃  阅读(473)  评论(0编辑  收藏  举报