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

圖解DotNet框架之六:System.XML

系統 1856 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條評論
主站蜘蛛池模板: 国产精品第4页 | 国产一区亚洲二区 | 久久中文字幕在线观看 | 国产在线观看一区精品 | 日本中文字幕在线视频 | 99国产精品欧美久久久久久影院 | 精品伊人久久久99热这里只 | 亚洲欧美日本在线观看 | 久久综合给合久久狠狠狠97色 | 九九影视理论片在线播放 | 日本8888xxxx免费视频 | 日本成人不卡 | 美女18毛片免费视频 | 亚洲大胆精品337p色 | 欧美国产亚洲精品高清不卡 | 91尤物国产尤物福利 | 超清波多野结衣精品一区 | 香蕉久久网 | 伊人99在线观看 | 亚洲rv国产rv日本rv | 久久精品免费i 国产 | 国产成人精品视频一区 | 久久99热久久精品23 | 午夜国产福利在线 | 亚洲三级在线免费观看 | 性欧美video另类hd亚洲人 | 欧美高清视频www夜色资源 | 色姑娘综合网 | 日本不卡一二三区 | 色日韩 | 99人中文字幕亚洲区 | 亚洲va欧美va国产综合久久 | 天天翘夜夜洗澡天天做 | 日本黄大片影院一区二区 | 伊人色综合久久天天 | 黄色自拍网站 | 免费精品视频 | 国产福利在线观看视频 | 久久久这里只有精品免费 | 成年人精品视频 | 天天色综合2 |