详解C#读写XML的示例代码


本文摘自PHP中文网,作者黄舟,侵删。

本文主要介绍了C# 读写XML的相关知识,具有很好的参考价值。下面跟着小编一起来看下吧

读XML

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

XmlDocument xd = new XmlDocument();

      string fileName = @"D:\test.xml";

      xd.Load(fileName);

      XmlNodeList xmlNoteList = xd.GetElementsByTagName("user");

      List<User> users = new List<User>();

      

      foreach (XmlElement item in xmlNoteList)

      {

        User user = new User();

        user.Id = int.Parse(item.GetAttribute("id"));

        XmlNodeList xnl = item.ChildNodes;

        user.Name = xnl[0].InnerXml;

        user.Age =int.Parse(xnl[1].InnerXml);

        user.Gender = xnl[2].InnerXml;

        users.Add(user);

      }

      foreach (var item in users)

      {

        Console.WriteLine(item);

      }

 

Read XML

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<?xml version="1.0" encoding="gb2312"?>

<users>

  <user id='1'>

    <name >张三</name>

    <age>15</age>

    <gender>男</gender>

  </user>

  <user id='2'>

    <name>李四</name>

    <age>14</age>

    <gender>男</gender>

  </user>

</users>

 

test.xml

写XML

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

string fileName =@"D:\test.xml";

      XmlDocument xmlDoc = new XmlDocument();

      XmlNode header = xmlDoc.CreateXmlDeclaration("1.0","utf-8",null);

      xmlDoc.AppendChild(header);

      //创建一级节点

      XmlElement rootNode = xmlDoc.CreateElement("users");

      List<User> list = GetUsers();

      foreach (var item in list)

      {

        XmlElement xn = InserUser(item,xmlDoc);

        rootNode.AppendChild(xn);

      

      xmlDoc.AppendChild(rootNode);

      xmlDoc.Save(fileName);

    }

    /// <summary>

    /// 创建整个user的元素

    /// </summary>

    /// <param name="user"></param>

    /// <param name="xmlDoc"></param>

    /// <returns></returns>

    private static XmlElement InserUser(User user, XmlDocument xmlDoc)

    {

      XmlElement xn = xmlDoc.CreateElement("user");

      xn.SetAttribute("id", user.Id + "");

      xn.AppendChild(GetXmlNode(xmlDoc,"name",user.Name));

      xn.AppendChild(GetXmlNode(xmlDoc, "age", user.Age + ""));

      xn.AppendChild(GetXmlNode(xmlDoc, "gender", user.Gender));

      return xn;

    }

    private static XmlElement GetXmlNode(XmlDocument xmlDoc,string name,string value)

    {

      XmlElement xn = xmlDoc.CreateElement(name);

      xn.InnerText = value;

      return xn;

    }

    private static List<User> GetUsers()

    {

      List<User> list = new List<User>();

      for (int i = 0; i < 10; i++)

      {

        User user = new User();

        user.Id = i;

        user.Name = "Name" + i;

        user.Age = 15;

        user.Gender = "男";

        list.Add(user);

      }

      return list;

    }

 

Write XML

实体类

1

2

3

4

5

6

7

8

9

10

11

12

13

class User

  {

    public int Id { set; get; }

    public string Name { get; set; }

    public int Age { get; set; }

    public string Gender { set; get; }

    public override string ToString()

    {

      return Id +","+Name + "," +Age+"," + Gender;

    }

  }

 

Entity

以上就是详解C#读写XML的示例代码的详细内容!

相关阅读 >>

C#中的类型系统(值类型和引用类型)的简单介绍

详解C#winform程序的toolstripbutton自定义背景应用示例源码

详情介绍C#中winform实现多线程异步更新ui的示例代码

详解C#winform循环播放多个视频的代码示例

C#中把image无损转换为icon的实例详解

详解C#执行存储过程并将结果填充到gridview的示例代码

使用C#操作windowad之添加对象到用户组

C#和.net是一个东西吗?C#与.net的区别与联系

C#接口(interface)

C# win32控制台应用程序忽略ctrl + c阻止程序退出的代码示例(图)

更多相关阅读请进入《C#》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...