欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

如何讀寫XML文件

這篇文章主要為大家展示了“如何讀寫XML文件”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“如何讀寫XML文件”這篇文章吧。

柯城ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!



       這里我們先介紹操作XML文件的兩個(gè)對(duì)象:XmlTextReader和XmlTextWriter
       打開和讀取Xml文件使用到的對(duì)象就是XmlTextReader對(duì)象。下面的例子打開了與程序在同一路徑下的一個(gè)例子文件sample.xml

XmlTextReader reader = new XmlTextReader("sample.xml");

然后我們可以通過其Read方法實(shí)現(xiàn)自動(dòng)便利XML文件。例:

while(reader.Read())
{
       //在這里填寫對(duì)于XML的操作代碼
}

下面我們看一個(gè)復(fù)雜一些的例子。

while(reader.Read())
 2{
 3    switch(reader.NodeType)
 4    {
 5        case XmlNodeType.Element:   //當(dāng)前節(jié)點(diǎn)是一個(gè)元素
 6              Console.Write("<" + reader.Name);
 7            while(reader.MoveToNextAttribute()) //按照順序讀取下一個(gè)屬性
 8              Console.Write(" " + reader.Name + "='" + reader.Value + "'");
 9            Console.Write(">");
10            break;
11        case XmlNodeType.DocumentType:  //XML文件的類型聲明
12              Console.WriteLine(reader.NodeType + "<" + reader.Name + ">" + reader.Value);
13            break;
14        ……
15        }
16    }

從第3行開始我們就根據(jù)NodeType屬性去判斷節(jié)點(diǎn)的類型,根據(jù)節(jié)點(diǎn)的不同類型進(jìn)行不同的處理。

下表列出了一些常用的節(jié)點(diǎn)類型。

XmlTextReader的NodeType的取值

類型

說明

All

所有節(jié)點(diǎn)

Attribute

一個(gè)屬性

CDATA

轉(zhuǎn)義那些會(huì)被看作標(biāo)記語言(如HTML)的文本

Comment

使用<!—和-->分隔的注釋

Document

XML數(shù)據(jù)樹的根節(jié)點(diǎn)

DocumentType

文檔的類型聲明,即<!DOCTYPE…>標(biāo)記

Element

一個(gè)元素,通常是XML文件中的實(shí)際數(shù)據(jù)

EndTag

元素的結(jié)束位置

None

不是節(jié)點(diǎn)

Text

返回元素的文本內(nèi)容

XMLDeclaration

XML聲明節(jié)點(diǎn),例如<?xml version=’

在進(jìn)行寫入XML文件時(shí)我們使用的XmlTextWriter類,它是XmlWriter的子類,速度快且不使用緩存,但是同XmlTextReader一樣,在寫入XML文件時(shí)只能向前。

我們假定要寫入的XML文件在C盤根目錄下:

XmlTextWriter writer = new XmlTextWriter("C:\\sample2.xml",null);

在這里如果不想把數(shù)據(jù)寫入文件,而只是想在命令窗口顯示,則可以把“Console.Out”作為參數(shù)傳遞給構(gòu)造器,此時(shí)應(yīng)把上述語句改為:

XmlTextWriter writer = new XmlTextWriter(Console.Out);

下面我們介紹一下寫入XML文件數(shù)據(jù)的一些常用方法:

XmlTextWriter的常用方法

方法

說明

用法

WriteStartDocument

寫XML聲明部分,即“<?xml version=”?>”

writer.WriteStartDocument();

WriteEndDocument

使沒有閉合元素閉合

writer.WriteEndDocument();

WriteDocType

寫DOCTYPE聲明

writer.WriteDocType("sample2",null,null,"<!ENTITY h 'hardcover'>");

WriteStartElement

寫元素的開始標(biāo)志

writer.WriteStartElement("sample2");

WriteEndElement

寫元素的結(jié)束標(biāo)志

writer.WriteEndElement();

WriteString

寫入字符串

writer.WriteString("Pride And Prejudice");

WriteCData

寫CDATA塊,即寫入的文字在<![CDATA[…]]>間

writer.WriteCData("Price 15% off!!");

WriteRaw

手工寫入一行,不作任何處理

writer.WriteRaw("this & that");

WriteEntityRef

寫入實(shí)體引用,即前面加“&”后面加“;”

writer.WriteEntityRef("h");

WriteProcessingInstruction

寫入處理指令,即前面加“<?”后面加“?>”

writer.WriteProcessingInstruction("xml-stylesheet",PItext);

WriteComment

寫入注釋,自動(dòng)加入注釋標(biāo)志“<!--”和“à”

writer.WriteComment("sample XML");

Flush

把緩存中的內(nèi)容寫入文件

writer.Flush();

Close

關(guān)閉,如有未閉合的元素,自動(dòng)閉合

writer.Close();

其中WriteString方法會(huì)對(duì)字符串進(jìn)行下述處理:

1.字符“&”、“<”和“>”轉(zhuǎn)化為“&amp;”、“&lt;”和“&gt;”。

2.ASCII碼為0~(十六進(jìn)制)的字符轉(zhuǎn)化為“&#~“&#”。

3.如果是在寫屬性的值則雙引號(hào)“””轉(zhuǎn)化為“&quot;”;單引號(hào) “’”轉(zhuǎn)化為“&apos;”。

下面給大家寫出一個(gè)例程,由于注釋比較詳細(xì)就不作過多解釋了。

using System;
 2using System.IO;
 3using System.Xml;
 4
 5public class Sample
 6{
 7    private const string filename = "sampledata.xml";
 8
 9    public static void Main()
10    {
11        XmlTextWriter writer = null;
12
13        writer = new XmlTextWriter (filename, null);
14        //為使文件易讀,使用縮進(jìn)
15        writer.Formatting = Formatting.Indented;
16
17        //寫XML聲明
18        writer.WriteStartDocument();
19
20        //引用樣式
21        String PItext="type='text/xsl' href='book.xsl'";
22        writer.WriteProcessingInstruction("xml-stylesheet", PItext);
23
24        //Write the DocumentType node
25        writer.WriteDocType("book", null , null, "<!ENTITY h 'hardcover'>");
26        
27        //寫入注釋
28        writer.WriteComment("sample XML");
29    
30        //寫一個(gè)元素(根元素)
31        writer.WriteStartElement("book");
32
33        // genre 屬性
34        writer.WriteAttributeString("genre", "novel");
35    
36        // ISBN 屬性
37        writer.WriteAttributeString("ISBN", "1-8630-014");
38
39        //書名元素
40        writer.WriteElementString("title", "The Handmaid's Tale");
41              
42        //Write the style element
43        writer.WriteStartElement("style");
44        writer.WriteEntityRef("h");
45        writer.WriteEndElement(); 
46
47        //價(jià)格元素
48        writer.WriteElementString("price", "19.95");
49
50        //寫入 CDATA
51        writer.WriteCData("Prices 15% off!!");
52
53        //關(guān)閉根元素
54        writer.WriteEndElement();
55             
56        writer.WriteEndDocument();
57
58        //緩沖器內(nèi)的內(nèi)容寫入文件
59        writer.Flush();
60        writer.Close();  
61
62        
63        XmlDocument doc = new XmlDocument();
64        
65        doc.PreserveWhitespace = true;
66        //加載文件
67        doc.Load(filename);  
68    
69        //XML文件的內(nèi)容顯示在控制臺(tái)
70        Console.Write(doc.InnerXml);  
71        //等待用戶閱讀
72        Console.In.Read();
73    }
74}

以上是“如何讀寫XML文件”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

文章題目:如何讀寫XML文件
網(wǎng)址分享:http://aaarwkj.com/article12/gdecdc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、虛擬主機(jī)響應(yīng)式網(wǎng)站、企業(yè)網(wǎng)站制作、網(wǎng)站設(shè)計(jì)公司、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
久久久人妻精品少妇av| 欧美亚洲精品一区二区三区| 国产成人免费视频大全| 亚洲精品成人一区不卡| 91老熟女露脸嗷嗷叫| 色婷婷av一二三区竹菊| 好色人妻在线播放中文字幕| 国产欧美又粗又猛又爽老| 亚洲综合av婷婷激情| 国产精品超碰在线观看| 国产精品国产三级国产专区| 国产极白丝白浆日本国产| 中文字幕乱码亚洲美女精品 | 丰满少妇在线观看网站| 亚洲日本精品免费在线观看| 中文字幕色视频在线观看| 国产偷国产偷亚洲综合av| 欧美三级美国三级亚洲三级| 免费av男人天堂亚洲天堂| 国产亚洲中文久久网久久| 亚洲最大成人综合福利网| 国产成人综合亚洲一区| 中文字慕日韩精品欧美一区| 国产亚洲欧美日韩各类| 国产精品久久久久久老熟女| 91成人国产综合久久精品| 激情内射日本一区二区三区 | 亚洲人妻乱人伦中文字幕在线| 久久精品91久久久| 91色综合久久久久婷婷| 区一区二区三视频日韩| 久久久久久97精品| 中文字幕不卡在线观看不卡| 国产中文字二暮区2021综合 | 日韩精品中文字幕欧美激情 | 亚洲国产精品综合久久网络| 国产精品久久综合网| 亚洲男人的天堂社区av| 一本综合九九国产二区| 在线观看免费国产不卡| 亚洲精品一区二区三区小|