C#中XML基礎(chǔ)用法
什么是XML?
XML:可擴(kuò)展標(biāo)記語(yǔ)言。
XML的作用:
純文本,兼容性強(qiáng)。
和HTML的區(qū)別:
xml: 主要用來處理、存儲(chǔ)數(shù)據(jù)。無(wú)規(guī)定標(biāo)簽,可擴(kuò)展。
html:對(duì)數(shù)據(jù)的顯示和描述。 語(yǔ)法標(biāo)簽固定。
XML語(yǔ)法特點(diǎn):
區(qū)分大小寫。
只能有一個(gè)根節(jié)點(diǎn)。
標(biāo)簽成對(duì)出現(xiàn)。
屬性用雙引號(hào)。
沒有預(yù)定標(biāo)簽,用什么寫什么
文檔聲明:<?xml version=".." encoding="...">
注釋: <!--? ?-->
CDATA: 原意文本 <![CDATA[..] ] >
xmldocument 操作:
class Program
{
static void Main(string[] args)
{
//實(shí)現(xiàn)xml的寫入
//1、在內(nèi)存中構(gòu)建Dom對(duì)象
XmlDocument xmlDoc = new XmlDocument();
//增加文檔說明
XmlDeclaration xmlDeclaration = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", "yes");
xmlDoc.AppendChild(xmlDeclaration);
//增加根元素
// 創(chuàng)建根元素
XmlElement rootElement = xmlDoc.CreateElement("school");
xmlDoc.AppendChild(rootElement);
//3、增加子元素,接下來添加的子元素增加到rootElement節(jié)點(diǎn)下
XmlElement xmlClassElement = xmlDoc.CreateElement("class");
// 為class元素添加id屬性
XmlAttribute attr = xmlDoc.CreateAttribute("id");
attr.Value = "x01";
xmlClassElement.Attributes.Append(attr);
rootElement.AppendChild(xmlClassElement);
//4、為class創(chuàng)建student節(jié)點(diǎn)。
XmlElement xmlStudentElement = xmlDoc.CreateElement("student");
// 為student元素添加sid 屬性.
XmlAttribute studentAttr = xmlDoc.CreateAttribute("sid");
studentAttr.Value = "s011";
xmlStudentElement.Attributes.Append(studentAttr);
xmlClassElement.AppendChild(xmlStudentElement);
//student中增加name節(jié)點(diǎn)。
XmlElement xmlNameElement = xmlDoc.CreateElement("name");
xmlNameElement.InnerText = "天";
xmlStudentElement.AppendChild(xmlNameElement);
//2、將該Dom對(duì)象寫入xml文件中
xmlDoc.Save("school.xml");
Console.WriteLine("ok");
}
}
以上方法可以用循環(huán)寫入。
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、 創(chuàng)建Dom對(duì)象。
XDocument xDoc = new XDocument();
XDeclaration xDec = new XDeclaration("1.0", "utf-8", null);
// 設(shè)置文檔定義
xDoc.Declaration = xDec;
//2、創(chuàng)建根節(jié)點(diǎn)
XElement rootElement = new XElement("List");
xDoc.Add(rootElement);
//3、循環(huán)創(chuàng)建節(jié)點(diǎn)
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("訂購(gòu)人:{0}",rootElement.Element("CustomerName").Value);
foreach (var item in rootElement.Element("Items").Elements("OrderItem"))
{
Console.WriteLine("商品名稱:{0}",item.Attribute("Name").Value);
}
}
}
到此這篇關(guān)于C#中XML基礎(chǔ)用法的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#實(shí)現(xiàn)動(dòng)態(tài)創(chuàng)建接口并調(diào)用的實(shí)例
這篇文章介紹了C#實(shí)現(xiàn)動(dòng)態(tài)創(chuàng)建接口并調(diào)用,文中通過實(shí)例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-11-11
C#中使用async和await實(shí)現(xiàn)異步Udp通訊的示例代碼
本文主要介紹了C#中使用async和await實(shí)現(xiàn)異步Udp通訊的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
深入多線程之:解析線程的交會(huì)(Thread Rendezvous)詳解
本篇文章是對(duì)線程的交會(huì)(Thread Rendezvous)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05

