亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

圖解DotNet框架之六:System.XML

系統 1607 0

( 聲明:本系列只想給大家介紹.net框架,并不是語法和類的使用的講解,所以只能概括的描述一下所提到的類,如果有疑問可以到MSDN上面去查 )

上面一篇,對system.Reflection做了初步的研究,本來這篇開始要講解Winform應用程序的流程框架,可是突然想到還有XML這個東西沒有講解,只好這篇補上了,下篇再講應用程序吧,失誤,請原諒!

XML是一種標記語言,就應該有一種工具按一定的語法來分析和理解存儲在文檔中信息。這個工具就是XML分析器---一個組件用于讀標記文本并返回指定平臺的對象。.NET 框架支持兩種不同的分析模式:XMLDOM分析器和XML閱寫器。我們來看圖

圖解DotNet框架之六:System.XML

1.讀寫器:

它的工作方式類似于數據庫的游標。XML閱讀器的客戶端收到一個指向閱讀器實例的引用。該實例提取底層的數據流并把取出的數據呈現為一棵XML樹。閱讀器類提供只讀、向前的游標,你可以用閱讀器類提供的方法滾動游標遍歷結果集中的每一條數據。
XMLReader:是一個提供對 XML文檔 數據的非緩存、只進只讀訪問的抽象基類。有二個子類繼承并擴展了他.

XMLTextReader:繼承自XMLReader,提供對 XML文檔 數據進行快速、非緩存、只進訪問的讀取器。

XMLNodeReader:繼承自XMLReader,提供對XML文檔的Node 中的 XML 數據進行快速、非緩存的只進訪問的讀取器。

XMLWrite:一個編寫器抽象基類,該編寫器提供一種快速、非緩存和只進的方式來生成包含 XML 數據的流或文件。

2.DOM分析器:

XMLNode: XML 文檔中的單個節點。是 DOM 實現中的基類。

XMLAttribute:繼承自XMLNode,表示XML文檔中節點的屬性。

XMLDocument:繼承自XMLNode,表示XML文檔。

XMLLinkedNode :獲取緊靠該節點(之前或之后)的節點。

XML也是一種數據保存的格式,他就像個數據庫表。那么他也用到了我們在System.Data一篇中提到的數據源架構模式,我們來回憶一下3種屬于數據層的架構模式

1.表數據入口:一個表實例處理數據庫表中的所有行.(Adapter中承載了一張表,他就代表數據庫,可以對數據進行填刪改查等操作)

2.行數據入口:訪問表中單條記錄地對象,一行一個實例.(DataReader,這里的行數據只能讀取,而不能修改.每一次Reader.Next(),就會返回一個數據行.)

3.數據影射器(ORM):.NET中沒有這種模式,ORM本身就很復雜,這里就不講解了.

這里的閱讀器就相當于System.Data中的DataReader,他是一條一條的讀取數據,每條數據都是一個Reader中的實例,所以他屬于行數據入口。分析器就好比Adapter,將XML文檔的所有數據一次裝載了進來,一個DOM就是一個表(文檔)的實例,那么他屬于行數據入口。

我們來看下XML,在.net中如何操作。

使用讀寫器

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--> XmlTextReaderaXmlTextReader = new XmlTextReader( @" C:/text.xml " );
while (aXmlTextReader.Read())
{
//
}

aXmlTextReader.Close();


XmlTextWriterxmlWriter
= new XmlTextWriter(url,System.Text.Encoding.UTF8);
xmlWriter.WriteStartDocument();
xmlWriter.WriteStartElement(
" Root " );
xmlWriter.WriteStartElement(
" Leaf " );
xmlWriter.WriteString(
" Test " );
xmlWriter.WriteEndElement();
xmlWriter.WriteEndElement();
xmlWriter.Close();

使用分析器:

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--> XmlDocumentxmlDoc = new XmlDocument();
// 創建根節點
XmlElementroot = xmlDoc.CreateElement( " Root " );
xmlDoc.AppendChild(root);
XmlNodebook
= xmlDoc.CreateElement( " Book " );
XmlElementtitle
= xmlDoc.CreateElement( " Title " );
title.InnerText
= " SQLServer " ;
book.AppendChild(title);
XmlElementisbn
= xmlDoc.CreateElement( " ISBN " );
isbn.InnerText
= " 444444 " ;
book.AppendChild(isbn);
XmlElementauthor
= xmlDoc.CreateElement( " Author " );
author.InnerText
= " jia " ;
book.AppendChild(author);
XmlElementprice
= xmlDoc.CreateElement( " Price " );
price.InnerText
= " 120 " ;
price.SetAttribute(
" Unit " , "" );
book.AppendChild(price);
root.AppendChild(book);
xmlDoc.Save(
" Books.xml " );

OK,對XML的操作我們就介紹到這里。

圖解DotNet框架之六:System.XML


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!??!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 毛片真人毛毛片毛片 | 国产精品亚洲精品观看不卡 | 国产大尺度视频 | 亚洲欧美精品中字久久99 | 欧美国产一区二区三区 | 午夜精品九九九九99蜜桃 | 深夜影院在线 | 两性色午夜视频免费老司机 | 成年女人视频在线观看免费 | 极品吹潮视频大喷潮tv | 99热这里只有精 | 亚洲精品欧美精品一区二区 | 久免费视频 | 成年女人毛片 | 久久草在线观看视频 | 青青青免费手机版视频在线观看 | 免费亚洲视频在线观看 | aaa一级黄色片 | 欧美一级高清片欧美国产欧美 | 爱爱小视频免费体验区在线观看 | 欧美精品亚洲精品日韩专区va | 精品无人区乱码1区2区3区在线 | 91最新视频在线观看 | 日本高清中文字幕视频在线 | 97人人澡| 九热这里只有精品 | 亚洲国产精品免费视频 | 欧美一级高清片在线 | 欧美jizzhd精品欧美4k | 国产伦码精品一区二区三区 | 免费一级毛片在线播放放视频 | 久久草精品视频 | 久久精品国产99国产精品 | 欧美一区在线观看视频 | 中文字幕av一区 | 国产α片 | 亚洲成年人免费网站 | 国产美女久久久久久久久久久 | 哪个网站能看毛片 | 欧美性xxxxxx爱 | 美女一级毛片免费观看 |