一、使用LINQ讀取
使用Xdocument上的Load方法,可以快速的載入一個XML文檔,然後使用LINQ對 載入XML文檔進行查詢或其他動作,這裡僅簡單偏曆。所以,一旦查詢一組元素有返回元素集,就可以使用一個簡單的foreach逐一查看每一個元素。核心代碼如下:/// <summary>
/// 使用LINQ讀取web上的xml
/// </summary>
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}<br />", elementInfo.ElementName, elementInfo.ElementValue));
}
}
二、使用XmlReader建構函式
當然還可以通過使用帶有URL的XmlReader.Create方法來完成操作,它使用的是一個XmlUrlResolver類的一個執行個體檢測傳入的URL,然後開啟一個通向由該URL代表的XML文檔流。為了指定閱讀器上的設定,可以使用另一個Create的重載,它也通過一個XmlReaderSetting執行個體完成這一目的。代碼如下:/// <summary>
/// 使用XmlReader建構函式
/// </summary>
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} <br />", read.Name));
break;
case XmlNodeType.Text:
HttpContext.Current.Response.Write(string.Format("ElementValue->{0}<br />", read.Value));
break;
case XmlNodeType.CDATA:
HttpContext.Current.Response.Write(string.Format("ElementValue->{0}<br />", read.Value));
break;
//other
}
}
}
}
三、執行個體代碼下載
代碼下載:點擊下載