XML操作之XmlDocument写入XML中


XML:Extensible Markup Language(可扩展标记语言)

优点:容易读懂;格式标准任何语言都内置了XML分析引擎,不用单独进行文件分析引擎的编写;可以使用记事本打开,足够方便

XML语法规范:标签、嵌套、属性。标签要闭合,属性值要用“”包围,标签可以相互嵌套

  1. XML和HTML的区别:
  2. 有且只能有一个根元素
  3. XML中元素必须关闭
  4. XML中元素的属性必须使用引号
  5. XML大小写敏感

程序操作XML的三种方式:

  1. XmlDocument方式操作XML,net2.0可以使用
  2. XDocument方式操作XML,net3.x以上可以使用
  3. SAX方式操作XML(收费,不用)
  4. XML序列化:XmlSerializer

 

本文介绍使用XmlDocument创建Dom对象并写入XML中

 1.在内存中创建一个Dom对象

XmlDocument xmlDoc = new XmlDocument();

1.2.增加一个文档说明

XmlDeclaration xmlDeclaration = xmlDoc.CreateXmlDeclaration("1.0","utf-8",null);

 1.3.将文档说明加入到Dom对象中

xmlDoc.AppendChild(xmlDeclaration);

 

 

2.1.创建一个根节点(每个Dom对象必须有根节点)

XmlElement rootElement = xmlDoc.CreateElement("school");

 

2.2将根节点追加到Dom对象中

xmlDoc.AppendChild(rootElement);

 

 

3.1为根节点增加子节点

XmlElement xmlClassElement=xmlDoc.CreateElement("class");

 

3.2.给子节点增加一个名字为id的属性

XmlAttribute attr = xmlDoc.CreateAttribute("id");
attr.Value = "c01";
xmlClassElement.Attributes.Append(attr);

 

3.3将class节点添加到根节点下

rootElement.AppendChild(xmlClassElement);

 

 

4.将该Dom对象写入xml文件中

xmlDoc.Save("school.xml");

 

 

例子:将集合中的信息写入到xml中

List<Person> list = new List<Person>();
            list.Add(new Person() { Id=1,Name="张三",Age=12});
            list.Add(new Person() { Id = 6, Name = "张5", Age = 13 });
            list.Add(new Person() { Id = 2, Name = "张4", Age = 14 });
            list.Add(new Person() { Id = 3, Name = "张3", Age = 15 });
            list.Add(new Person() { Id = 4, Name = "张2", Age = 16 });
            list.Add(new Person() { Id = 5, Name = "张1", Age = 17 });

            XmlDocument xmlDoc = new XmlDocument();
            XmlDeclaration xmlDec = xmlDoc.CreateXmlDeclaration("1.0","utf-8",null);
            xmlDoc.AppendChild(xmlDec);

            XmlElement xmlRoot = xmlDoc.CreateElement("school");
            xmlDoc.AppendChild(xmlRoot);

            for (int i = 0; i < list.Count; i++)
            {
                XmlElement xmlPerson = xmlDoc.CreateElement("person");
                XmlAttribute attrId=xmlDoc.CreateAttribute("id");
                attrId.Value = list[i].Id.ToString();
                xmlPerson.Attributes.Append(attrId);

                XmlElement xmlName=xmlDoc.CreateElement("name");
                xmlName.InnerText = list[i].Name;
                xmlPerson.AppendChild(xmlName);

                XmlElement xmlAge = xmlDoc.CreateElement("age");
                xmlAge.InnerText = list[i].Age.ToString();
                xmlPerson.AppendChild(xmlAge);

                xmlRoot.AppendChild(xmlPerson);
            }

            
            xmlDoc.Save("Student.xml");

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM