掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
一、使用LINQ讀取XML數(shù)據(jù)

創(chuàng)新互聯(lián)是一家專業(yè)提供萬秀企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站制作、成都網(wǎng)站設(shè)計、H5網(wǎng)站設(shè)計、小程序制作等業(yè)務(wù)。10年已為萬秀眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進行中。
使用Xdocument上的Load方法,可以快速的加載一個XML文檔,然后使用LINQ對加載XML文檔進行查詢或其他操作,這里僅簡單偏歷。所以,一旦查詢一組元素有返回元素集,就可以使用一個簡單的foreach循環(huán)訪問每一個元素。核心代碼如下:
- ///
- /// 使用LINQ讀取web上的XML數(shù)據(jù)
- ///
- public static void UseLINQ()
- {
- string sURL = "http://localhost:9058/GameServerInfo/XMLFile.xml";
- XDocument oXDoc = XDocument.Load(sURL);
- var qurey = from e in oXDoc.Descendants()
- where e.NodeType == XmlNodeType.Element
- select new
- {
- ElementName=e.Name.ToString(),
- ElementValue=e.Value
- };
- foreach(var elementInfo in qurey)
- {
- HttpContext.Current.Response.Write(string.Format("ElementName->{0} ElementValue->{1}
/>", elementInfo.ElementName, elementInfo.ElementValue));- }
- }
二、使用XmlReader構(gòu)造函數(shù)
當(dāng)然還可以通過使用帶有URL的XmlReader.Create方法來完成操作,它使用的是一個XmlUrlResolver類的一個實例檢測傳入的URL,然后打開一個通向由該URL代表的XML文檔流。為了指定閱讀器上的設(shè)置,可以使用另一個Create的重載,它也通過一個XmlReaderSetting實例完成這一目的。代碼如下:
- ///
- /// 使用XmlReader構(gòu)造函數(shù)
- ///
- public static void UseXmlReader()
- {
- string sURL = "http://localhost:9058/GameServerInfo/XMLFile.xml";
- using(XmlReader read=XmlReader.Create(sURL))
- {
- while(read.Read())
- {
- switch (read.NodeType)
- {
- case XmlNodeType.Element:
- HttpContext.Current.Response.Write(string.Format("ElementName->{0}
/>", read.Name));- break;
- case XmlNodeType.Text:
- HttpContext.Current.Response.Write(string.Format("ElementValue->{0}
/>", read.Value));- break;
- case XmlNodeType.CDATA:
- HttpContext.Current.Response.Write(string.Format("ElementValue->{0}
/>", read.Value));- break;
- //other
- }
- }
- }
- }
三、XML數(shù)據(jù)實例代碼下載
代碼下載:http://files.cnblogs.com/tjdxlmy/XMLCode.rar
【編輯推薦】

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流