一共有四種方法,建立一個asp.net項目,下面有四個頁面,如下圖所示:

data7.xml内容如下所示:
<?xml version="1.0" encoding="utf-8"?>
<Advertisements>
<Ad>
<ImageUrl>001.jpg</ImageUrl>
<NavigateUrl>001.aspx</NavigateUrl>
<Impressions>10</Impressions>
<Keyword>gucas01</Keyword>
</Ad>
<ImageUrl>002.jpg</ImageUrl>
<NavigateUrl>002.aspx</NavigateUrl>
<Impressions>20</Impressions>
<Keyword>gucas02</Keyword>
<ImageUrl>003.jpg</ImageUrl>
<NavigateUrl>003.aspx</NavigateUrl>
<Impressions>30</Impressions>
<Keyword>gucas03</Keyword>
<ImageUrl>004.jpg</ImageUrl>
<NavigateUrl>004.aspx</NavigateUrl>
<Impressions>40</Impressions>
<Keyword>gucas04</Keyword>
<ImageUrl>005.jpg</ImageUrl>
<NavigateUrl>005.aspx</NavigateUrl>
<Impressions>50</Impressions>
<Keyword>gucas05</Keyword>
<ImageUrl>google.gif</ImageUrl>
<NavigateUrl>http://www.google.com</NavigateUrl>
<Keyword>google</Keyword>
</Advertisements>
Default.aspx代碼如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<h3><font face="Verdana">讀取XML方法一:使用XML控件</font></h3>
<form id="form1" runat="server">
<div>
<asp:Xml id="xml1" DocumentSource="data7.xml" runat="server" />
</div>
</form>
</body>
</html>
Default.aspx.cs不做修改。
釋出結果如下圖所示:
Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<h3><font face="Verdana">讀取XML方法二:使用DOM技術</font></h3>
<asp:Xml id="xml1" runat="server" />
Default.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
doc.Load(Server.MapPath("data7.xml"));
xml1.Document = doc;
}
}
釋出結果如下所示:
<h3><font face="Verdana">讀取XML方法三:使用DataSet對象</font></h3>
<asp:DataGrid id="dgEmployees" runat="server" />
public partial class Default3 : System.Web.UI.Page
{
DataSet objDataSet = new DataSet();
objDataSet.ReadXml(Server.MapPath("data7.xml"));
//方法1
//dgEmployees.DataSource = objDataSet;
//dgEmployees.DataBind();
//方法2
dgEmployees.DataSource = objDataSet.Tables["Ad"].DefaultView;
dgEmployees.DataBind();
<h3><font face="Verdana">讀取XML方法四:按文本方式讀取</font></h3>
<asp:label id="LblFile" runat="server" />
public partial class Default4 : System.Web.UI.Page
XmlTextReader objXMLReader = new XmlTextReader(Server.MapPath("web.config"));
string strNodeResult = "";
XmlNodeType objNodeType;
while (objXMLReader.Read())
{
objNodeType = objXMLReader.NodeType;
switch (objNodeType)
{
case XmlNodeType.XmlDeclaration:
//讀取XML檔案頭
strNodeResult += "XML Declaration:<b>" + objXMLReader.Name + "" + objXMLReader.Value + "</b><br/>";
break;
case XmlNodeType.Element:
//讀取标簽
strNodeResult += "Element:<b>" + objXMLReader.Name + "</b><br/>";
case XmlNodeType.Text:
//讀取值
strNodeResult += " -Value:<b>" + objXMLReader.Value + "</b><br/>";
}
if (objXMLReader.HasAttributes)
{ //用循環判斷完所有節點
while (objXMLReader.MoveToNextAttribute())
{ //取标簽和值
strNodeResult += " -Attribute:<b>" + objXMLReader.Name + "</b> value:<b>" + objXMLReader.Value + "</b><br/>";
}
LblFile.Text = strNodeResult;
}
本文轉自xwdreamer部落格園部落格,原文連結:http://www.cnblogs.com/xwdreamer/archive/2011/04/27/2297022.html,如需轉載請自行聯系原作者