标签:
<?xml version="1.0" encoding="utf-8" ?><students>  <!--我是一段注释文字-->  <student name="张平">    <courses>      <course name="语文?">        <teacherComment>          <![CDATA[        这里是语文老师的批注        ]]>        </teacherComment>          </course>      <course name="数学">        <teacherComment>          <![CDATA[        这里是数学老师的批注        ]]>        </teacherComment>      </course>    </courses>  </student></students> | 
/*玉开博客 http://www.cnblogs.com/yukaizhao/ */using System;using System.Collections.Generic;using System.Text;using System.Xml;namespace XmlExample{    class Program    {        static void Main(string[] args)        {            string xmlFilePath = @"X:\about.net\example\XmlExample\1.xml";            XmlDocument doc = new XmlDocument();            doc.Load(xmlFilePath);            //使用xpath表达式选择文档中所有的student子节点            XmlNodeList studentNodeList = doc.SelectNodes("/students/student");            if (studentNodeList != null)            {                foreach (XmlNode studentNode in studentNodeList)                {                    //通过Attributes获得属性名字为name的属性                    string name = studentNode.Attributes["name"].Value;                    Console.WriteLine("Student:" + name);                    //通过SelectSingleNode方法获得当前节点下的courses子节点                    XmlNode coursesNode = studentNode.SelectSingleNode("courses");                    //通过ChildNodes属性获得courseNode的所有一级子节点                    XmlNodeList courseNodeList = coursesNode.ChildNodes;                    if (courseNodeList != null)                    {                        foreach (XmlNode courseNode in courseNodeList)                        {                            Console.Write("\t");                            Console.Write(courseNode.Attributes["name"].Value);                            Console.Write("老师评语");                            //通过FirstNode属性可以获得课程节点的第一个子节点,LastNode可以获得最后一个子节点                            XmlNode teacherCommentNode = courseNode.FirstChild;                            //读取CData节点                            XmlCDataSection cdata = (XmlCDataSection)teacherCommentNode.FirstChild;                            Console.WriteLine(cdata.InnerText.Trim());                        }                    }                }            }            Console.Write("\r\nPress any key to continue....");            Console.Read();        }    }} | 
/*玉开博客 http://www.cnblogs.com/yukaizhao/ */using System;using System.Collections.Generic;using System.Text;using System.Xml;namespace WriteXml{    class Program    {        static void Main(string[] args)        {            XmlDocument xmlDoc = new XmlDocument();            //创建Xml声明部分,即<?xml version="1.0" encoding="utf-8" ?>            xmlDoc.CreateXmlDeclaration("1.0", "utf-8", "yes");            //创建根节点            XmlNode rootNode = xmlDoc.CreateElement("students");            //创建student子节点            XmlNode studentNode = xmlDoc.CreateElement("student");            //创建一个属性            XmlAttribute nameAttribute = xmlDoc.CreateAttribute("name");            nameAttribute .Value = "张同学";            //xml节点附件属性            studentNode.Attributes.Append(nameAttribute);                        //创建courses子节点            XmlNode coursesNode = xmlDoc.CreateElement("courses");            XmlNode courseNode1 = xmlDoc.CreateElement("course");            XmlAttribute courseNameAttr = xmlDoc.CreateAttribute("name");            courseNameAttr.Value = "语文";            courseNode1.Attributes.Append(courseNameAttr);            XmlNode teacherCommentNode = xmlDoc.CreateElement("teacherComment");            //创建Cdata块            XmlCDataSection cdata = xmlDoc.CreateCDataSection("<font color=\"red\">这是语文老师的批注</font>");            teacherCommentNode.AppendChild(cdata);            courseNode1.AppendChild(teacherCommentNode);            coursesNode.AppendChild(courseNode1);            //附加子节点            studentNode.AppendChild(coursesNode);            rootNode.AppendChild(studentNode);            //附加根节点            xmlDoc.AppendChild(rootNode);            //保存Xml文档            xmlDoc.Save(@"d:\test.xml");            Console.WriteLine("已保存Xml文档");        }    }} | 
使用XmlDocument生成xml的要点在于使用xmlDocument的实例的CreateElement创建XmlNode或者通过CreateAttribute方法创建属性,并通过AppendChild方法附加xml节点,通过AppendAttribute附加Attribute到节点的属性集合。
标签:
原文地址:http://www.cnblogs.com/itjeff/p/4262583.html