C#中XML基礎用法

什麼是XML?

XML:可擴展標記語言。

XML的作用:

純文本,兼容性強。

和HTML的區別:

xml: 主要用來處理、存儲數據。無規定標簽,可擴展。

html:對數據的顯示和描述。 語法標簽固定。

XML語法特點:

區分大小寫。

隻能有一個根節點。

標簽成對出現。

屬性用雙引號。

沒有預定標簽,用什麼寫什麼

文檔聲明:<?xml version=”..” encoding=”…”>

註釋: <!–   –>

CDATA: 原意文本 <![CDATA[..] ] >

xmldocument 操作:

class Program
    {
        static void Main(string[] args)
        {
            //實現xml的寫入
            //1、在內存中構建Dom對象
            XmlDocument xmlDoc = new XmlDocument();
            //增加文檔說明
            XmlDeclaration xmlDeclaration = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", "yes");
            xmlDoc.AppendChild(xmlDeclaration);
            //增加根元素
            //  創建根元素
            XmlElement rootElement = xmlDoc.CreateElement("school");
            xmlDoc.AppendChild(rootElement);
            //3、增加子元素,接下來添加的子元素增加到rootElement節點下
            XmlElement xmlClassElement = xmlDoc.CreateElement("class");
            // 為class元素添加id屬性
            XmlAttribute attr = xmlDoc.CreateAttribute("id");
            attr.Value = "x01";
            xmlClassElement.Attributes.Append(attr);
            rootElement.AppendChild(xmlClassElement);
            //4、為class創建student節點。
            XmlElement xmlStudentElement = xmlDoc.CreateElement("student");
            // 為student元素添加sid 屬性.
            XmlAttribute studentAttr = xmlDoc.CreateAttribute("sid");
            studentAttr.Value = "s011";
            xmlStudentElement.Attributes.Append(studentAttr);
            xmlClassElement.AppendChild(xmlStudentElement);
            //student中增加name節點。
            XmlElement xmlNameElement = xmlDoc.CreateElement("name");
            xmlNameElement.InnerText = "天";
            xmlStudentElement.AppendChild(xmlNameElement);


            //2、將該Dom對象寫入xml文件中
            xmlDoc.Save("school.xml");
            Console.WriteLine("ok");
        }
    }

以上方法可以用循環寫入。

xdocument 操作。

class Program
    {
        static void Main(string[] args)
        {
            //  通過xdocument 寫入文件
            List<Person> list = new List<Person>();
            list.Add(new Person() { Name = "Sam", Age = 18 });
            list.Add(new Person() { Name = "Penny", Age = 20 });
            // 1、 創建Dom對象。
            XDocument xDoc = new XDocument();
            XDeclaration xDec = new XDeclaration("1.0", "utf-8", null);
            // 設置文檔定義
            xDoc.Declaration = xDec;
            //2、創建根節點
            XElement rootElement = new XElement("List");
            xDoc.Add(rootElement);
            //3、循環創建節點
            for (int i = 0; i < list.Count; i++)
            {
                XElement PersonElement = new XElement("Person");
                PersonElement.SetAttributeValue("id", (i + 1).ToString());

                PersonElement.SetElementValue("Name", list[i].Name);
                PersonElement.SetElementValue("Age", list[i].Age);
                rootElement.Add(PersonElement);
            }
            xDoc.Save("List.xml");
            Console.WriteLine("ok");
        }
    }
    class Person
    {
        public string Name { get; set; }
        public  int Age { get; set; }
    }
class Program
    {
        static void Main(string[] args)
        {
            //讀取XML文件。
            XDocument document = XDocument.Load("List.xml");
            XElement rootElement = document.Root;
            Console.WriteLine("訂購人:{0}",rootElement.Element("CustomerName").Value);
            foreach (var item in rootElement.Element("Items").Elements("OrderItem"))
            {
                Console.WriteLine("商品名稱:{0}",item.Attribute("Name").Value);
            }
            
        }  
    }

到此這篇關於C#中XML基礎用法的文章就介紹到這瞭。希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。

推薦閱讀: