日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

使用XmlTextReader 读取XML

發(fā)布時間:2023/12/10 asp.net 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用XmlTextReader 读取XML 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
XmlTextReader 限于只向前的讀取
XmlTextReader 的技術(shù)類似于讀取其他任何文件 首先打開文件,然后從文件中讀取信息,最后關(guān)閉文件.
每次從文件中讀取信息時,他在文件中的位置都會前移.到達文件結(jié)尾的時候就什么都不讀了。
1 創(chuàng)建XmlTextReader對象
??? XmlTextReader 類:表示提供對 XML 數(shù)據(jù)進行快速、非緩存、只進訪問的讀取器。
??? public class XmlTextReader : XmlReader, IXmlLineInfo
?例如:創(chuàng)建一個名為myReader的對象,并將他指向一個filename文件.這個文件名可以包含完整的路徑
?XmlTextReader myReader=new XmlTextReader("filename");
?XmlTextReader 構(gòu)造函數(shù):1 protected XmlTextReader();?? 2 public XmlTextReader(Stream);
??????????????????????? 3 public XmlTextReader(string);等等
?讀取數(shù)據(jù):
?注意:XmlTextReader 對象不驗證數(shù)據(jù)。它假設(shè)你已經(jīng)使用了標準的XML。(缺乏數(shù)據(jù)驗證有助于獲取最快的速度)
?讀取數(shù)據(jù)的XMLTextReader方法
?方法??????????????????????????????????? 詳細說明
?Read??????????????????????????????????? 讀取XML文件的下一個結(jié)點
?ReadAttributeValue????????????????????? 讀取屬性值
?ReadBase64????????????????????????????? 讀取Base64值
?ReadBinHex????????????????????????????? 讀取BinHex值
?ReadChars?????????????????????????????? 讀取文本字符
?ReadElementString?????????????????????? 讀取只有文本的元素
?ReadEndElement????????????????????????? 讀取結(jié)束元素
?ReadInnerXml??????????????????????????? 將XML結(jié)點全部內(nèi)容讀到一個字符串里面
?ReadOuterXml??????????????????????????? 將整個XML結(jié)點和它的內(nèi)容讀到一個字符串里面
?ReadStartElement??????????????????????? 讀取開始元素
?ReadString????????????????????????????? 將一個元素或者文本結(jié)點值讀到一個字符串里面
?注意XmlNodeType對象讀取的值與一個XmlNodeType的值相比較完成評估?(詳見 msdn)
?關(guān)閉XmlTextReader對象 myReader.Close();
?使用XmlTextReader的實例應(yīng)用程序
?實例說明:

?使用XmlTextReader讀取XML文件

using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Xml; using System.Text; // namespace Xmlapp2 public class Form1 : System.Windows.Forms.Form{ //private XmlTextReader xtr=null;public Form1(){//// Windows 窗體設(shè)計器支持所必需的//InitializeComponent();xtr=new XmlTextReader(@"temp.xml");//XmlTextReader.WhitespaceHandling 屬性 :獲取或設(shè)置一個值,該值指定如何處理空白xtr.WhitespaceHandling=WhitespaceHandling.All;//// TODO: 在 InitializeComponent 調(diào)用后添加任何構(gòu)造函數(shù)代碼//} //private void button2_Click(object sender, System.EventArgs e)//關(guān)閉退出{if (xtr!=null){xtr.Close();}Application.Exit();}private void button1_Click(object sender, System.EventArgs e){StringBuilder str=new StringBuilder("Formatted:");if (xtr.Read()==true){label1.Text=xtr.NodeType.ToString();label2.Text=xtr.Name.ToString();label3.Text=xtr.Value.ToString();switch (xtr.NodeType){case XmlNodeType.Element:str.AppendFormat("<{0}>",xtr.Name);break;case XmlNodeType.Text:break;case XmlNodeType.CDATA:str.AppendFormat("<![CDATA[{0}]]>",xtr.Value);break;case XmlNodeType.ProcessingInstruction:str.AppendFormat("<?{0} {1}?>",xtr.Name,xtr.Value);break;case XmlNodeType.Comment:str.AppendFormat("<!--{0}-->",xtr.Value);break;case XmlNodeType.XmlDeclaration:str.AppendFormat("<?xml version='1.0'?>");break;case XmlNodeType.DocumentType:str.AppendFormat("<!DOCTYPE{0} [{1}]>",xtr.Name,xtr.Value);break;case XmlNodeType.EntityReference:str.Append(xtr.Name);break;case XmlNodeType.EndElement:str.AppendFormat("</{0}>",xtr.Name);break;case XmlNodeType.Whitespace://Console.Write("{0}",xtr.Value);break;}label4.Text=str.ToString();}else{label1.Text="Eof";label2.Text="Eof";label3.Text="Eof";}}}

總結(jié)

以上是生活随笔為你收集整理的使用XmlTextReader 读取XML的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。