详解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#是什么,能做些什么?

C#灵活使用类的方法分享

C# system.drawing.region类的方法使用(图解)

.net框架-微软给出的C#编程风格代码实例

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

学习C#中datetime.parseexact的使用(图)

详细介绍C#win32控制台线程计时器代码示例

C#使用oledb连接excel执行insert into语句出现“必须使用一个可更新的查询”的解决办法的示例代码

C#系列文章事件

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




打赏

取消

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

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

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

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

评论

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