.NET平台下XmlDocument与XDocument写入xml

1、用xmlDOcuemnt把List集合中的内容循环写入到xml中

 List<Person> mylist=new List<Person>();
               mylist.Add(new Person() { name = "李大", age = 20, email = "lida@163.xom" });
               mylist.Add(new Person() { name = "李二", age = 19, email = "lier@163.xom" });
               mylist.Add(new Person() { name = "李三", age = 18, email = "lisan@163.xom" });
               //1声明对象
               XmlDocument doc = new XmlDocument();
               //添加文档声明
               XmlDeclaration declaration = doc.CreateXmlDeclaration("1.0", "utf-8", "yes");
               doc.AppendChild(declaration);
               //添加根元素
               XmlElement listElement = doc.CreateElement("List");
               doc.AppendChild(listElement);
               //循环添加person
               for (int i = 0; i < mylist.Count; i++)
               {
                   XmlElement personElement = doc.CreateElement("person");
                   XmlAttribute attrID = doc.CreateAttribute("id");
                   attrID.Value = (i + 1).ToString();

                   XmlElement nameElement = doc.CreateElement("name");
                   nameElement.InnerText = mylist[i].name;

                   XmlElement ageElement = doc.CreateElement("age");
                   ageElement.InnerText = mylist[i].age.ToString();

                   XmlElement emailElement = doc.CreateElement("email");
                   emailElement.InnerText = mylist[i].email;

                   personElement.AppendChild(nameElement);
                   personElement.AppendChild(ageElement);
                   personElement.AppendChild(emailElement);
                   listElement.AppendChild(personElement);
               }
               //将dom对象写入xml文件中
               doc.Save("ListStudent.xml");
               MessageBox.Show("okk");

 

结果:

 

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<List>
  <person>
    <name>李大</name>
    <age>20</age>
    <email>lida@163.xom</email>
  </person>
  <person>
    <name>李二</name>
    <age>19</age>
    <email>lier@163.xom</email>
  </person>
  <person>
    <name>李三</name>
    <age>18</age>
    <email>lisan@163.xom</email>
  </person>
</List>

2、xDocument写法

XDocument是.net3.5为Linq for XML准备的轻量级document对象,功能上与xmldocument差不多,但使用上方便了许多

            List<Person> mylist=new List<Person>();
            mylist.Add(new Person(){name="李大",age=20,email="lida163.com"});
            mylist.Add(new Person(){name="李二",age=20,email="lier163.com"});
            mylist.Add(new Person(){name="李三",age=20,email="lisan163.com"});
            //1声明对象
            XDocument xdoc = new XDocument(new XDeclaration("1.0", "utf-8", "yes"));
            XElement listElement = new XElement("List");
            xdoc.Add(listElement);
            for (int i = 0; i < mylist.Count; i++)
            {
                XElement personElemlent = new XElement("person");
                personElemlent.SetAttributeValue("id", (i + 1).ToString());
                personElemlent.SetElementValue("name", mylist[i].name);
                personElemlent.SetElementValue("age", mylist[i].age.ToString());
                personElemlent.SetElementValue("email", mylist[i].email);
                
                listElement.Add(personElemlent);
            }
            xdoc.Save("ListNew.xml");
            MessageBox.Show("ko");

结果:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<List>
  <person id="1">
    <name>李大</name>
    <age>20</age>
    <email>lida163.com</email>
  </person>
  <person id="2">
    <name>李二</name>
    <age>20</age>
    <email>lier163.com</email>
  </person>
  <person id="3">
    <name>李三</name>
    <age>20</age>
    <email>lisan163.com</email>
  </person>
</List>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值