自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

利用C#讀取Web上的XML數(shù)據(jù)的兩種方法

開發(fā)
本文將介紹如何利用C#讀取Web上的XML數(shù)據(jù)的兩種方法,一是用LINQ讀取,二是用XmlReader構(gòu)造函數(shù)。希望本文對(duì)大家有所幫助。

一、使用LINQ讀取XML數(shù)據(jù)

使用Xdocument上的Load方法,可以快速的加載一個(gè)XML文檔,然后使用LINQ對(duì)加載XML文檔進(jìn)行查詢或其他操作,這里僅簡(jiǎn)單偏歷。所以,一旦查詢一組元素有返回元素集,就可以使用一個(gè)簡(jiǎn)單的foreach循環(huán)訪問(wèn)每一個(gè)元素。核心代碼如下:

  1. /// <summary> 
  2.     /// 使用LINQ讀取web上的XML數(shù)據(jù)  
  3.     /// </summary> 
  4.     public static void UseLINQ()  
  5.     {  
  6.         string sURL = "http://localhost:9058/GameServerInfo/XMLFile.xml";  
  7.         XDocument oXDoc = XDocument.Load(sURL);  
  8.         var qurey = from e in oXDoc.Descendants()  
  9.                     where e.NodeType == XmlNodeType.Element  
  10.                     select new  
  11.                     {  
  12.                         ElementName=e.Name.ToString(),  
  13.                         ElementValue=e.Value  
  14.                     };  
  15.         foreach(var elementInfo in qurey)  
  16.         {  
  17.             HttpContext.Current.Response.Write(string.Format("ElementName->{0} ElementValue->{1}<br />", elementInfo.ElementName, elementInfo.ElementValue));  
  18.         }  
  19.     } 

二、使用XmlReader構(gòu)造函數(shù)

當(dāng)然還可以通過(guò)使用帶有URL的XmlReader.Create方法來(lái)完成操作,它使用的是一個(gè)XmlUrlResolver類的一個(gè)實(shí)例檢測(cè)傳入的URL,然后打開一個(gè)通向由該URL代表的XML文檔流。為了指定閱讀器上的設(shè)置,可以使用另一個(gè)Create的重載,它也通過(guò)一個(gè)XmlReaderSetting實(shí)例完成這一目的。代碼如下:

  1. /// <summary> 
  2.     /// 使用XmlReader構(gòu)造函數(shù)  
  3.     /// </summary> 
  4.     public static void UseXmlReader()  
  5.     {  
  6.         string sURL = "http://localhost:9058/GameServerInfo/XMLFile.xml";  
  7.         using(XmlReader read=XmlReader.Create(sURL))  
  8.         {  
  9.             while(read.Read())  
  10.             {  
  11.                 switch (read.NodeType)  
  12.                 {  
  13.                     case XmlNodeType.Element:  
  14.                         HttpContext.Current.Response.Write(string.Format("ElementName->{0} <br />", read.Name));  
  15.                         break;  
  16.                     case XmlNodeType.Text:  
  17.                         HttpContext.Current.Response.Write(string.Format("ElementValue->{0}<br />", read.Value));  
  18.                         break;  
  19.                     case XmlNodeType.CDATA:  
  20.                         HttpContext.Current.Response.Write(string.Format("ElementValue->{0}<br />", read.Value));  
  21.                         break;  
  22.                         //other  
  23.                 }  
  24.             }  
  25.         }  
  26.     } 

三、XML數(shù)據(jù)實(shí)例代碼下載

代碼下載:http://files.cnblogs.com/tjdxlmy/XMLCode.rar

【編輯推薦】

  1. XML數(shù)據(jù)庫(kù)發(fā)展路在何方?
  2. ASP.NET中XML數(shù)據(jù)的處理
  3. 全局XML Web服務(wù)體系結(jié)構(gòu)新標(biāo)準(zhǔn)
  4. XML結(jié)構(gòu)與語(yǔ)法入門詳解
  5. 基于關(guān)系型數(shù)據(jù)庫(kù)引擎的"XML"索引技術(shù)
責(zé)任編輯:彭凡 來(lái)源: cnblogs
相關(guān)推薦

2009-08-05 13:34:18

C#日期相減

2009-09-02 16:21:02

C#解析Html

2009-08-25 11:35:27

C#連接數(shù)據(jù)庫(kù)

2009-08-21 18:02:41

C#快捷鍵

2009-08-17 08:29:00

c#刪除指定文件

2009-08-17 17:48:00

C#自定義鼠標(biāo)樣式

2010-08-02 16:58:08

Flex配置文件

2013-02-22 09:54:15

C#Excel讀取Excel

2011-05-24 09:18:59

C++連接mysql數(shù)據(jù)庫(kù)

2011-04-25 09:53:31

C++mysql

2010-08-04 17:41:52

掛載NFS

2010-08-06 09:38:11

Flex讀取XML

2024-01-02 11:45:00

讀取requestmap

2009-09-25 14:04:09

Hibernate eHibernate h

2010-04-13 09:50:44

Oracle跟蹤

2010-11-24 14:36:25

修復(fù)mysql表

2011-03-30 17:04:24

MySQL添加用戶

2009-08-05 15:54:49

Web Service

2009-08-18 13:22:55

C#動(dòng)態(tài)調(diào)用Web服務(wù)

2010-07-01 12:29:27

SQL Server重
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)