ASP.NET读取XML文件4种方法分析

方法一 :使用XML控件

  代码

  

复制代码 代码如下:

  <% @ Page Language="C#"%>

  <html>

  <body>

  <h3><font face="Verdana">读取XML方法一</font></h3>

  <from runat=server>

  <asp:Xml id="xml1" DocumentSource="grade.xml" runat="server" />

  </from>

  </body>

  </html>

  方法二: 使用DOM技术

  代码

  

复制代码 代码如下:

  <% @ Page Language="C#"%>

  <% @ Import Namespace="System.Xml"%>

  <% @ Import Namespace="System.Xml.Xsl"%>

  <html>

  <script language="C#" runat="server">

  void Page_Load(Object sender,EventArgs e)

  {

  XmlDocument doc=new XmlDocument();

  doc.Load(Server.MapPath("grade.xml"));

  xml1.Document=doc;

  }

  </script>

  <body>

  <h3><font face="Verdana">读取XML方法二</font></h3>

  <from runat=server>

  <asp:Xml id="xml1" runat="server" />

  </from>

  </body>

  </html>

  方法三 :使用DataSet对象

  代码

  

复制代码 代码如下:

  <% @ Page Language="C#"%>

  <% @ Import Namespace="System.Data"%>

  <% @ Import Namespace="System.Data.OleDb"%>

  <script language="C#" runat="server">

  void Page_Load(Object sender,EventArgs e)

  {

  DataSet objDataSet=new DataSet();

  objDataSet.ReadXml(Server.MapPath("grade.xml"));

  dgEmployees.DataSource=objDataSet.Tables["student"].DefaultView;

  dgEmployees.DataBind();

  }

  </script>

  <body>

  <h3><font face="Verdana">读取XML方法三</font></h3>

  <asp:DataGrid id="dgEmployees" runat="server" />

  </body>

  </html>

  方法四 :按文本方式读取

  代码

  

复制代码 代码如下:

  <% @ Page Language="C#"%>

  <% @ Import Namespace="System.Xml"%>

  <html>

  <script language="C#" runat="server">

  private void Page_Load(Object sender,EventArgs e)

  {

  XmlTextReader objXMLReader=new XmlTextReader(Server.MapPath("grade.xml"));

  string strNodeResult="";

  XmlNodeType objNodeType;

  while(objXMLReader.Read())

  {

  objNodeType =objXMLReader.NodeType;

  swith(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/>";

  break;

  case XmlNodeType.Text:

  //读取值

  strNodeResult+=" -Value:<b>"+objXMLReader.Value+"</b><br/>";

  break;

  }

  //判断该节点是否有属性

  if(objXMLReader.AttributeCount>0)

  { //用循环判断完所有节点

  while(objXMLReader.MoveToNextAttibute)

  { //取标签和值

  strNodeResult+=" -Attribute:<b>"+objXMLReader.Name+"</b> value:<b>"+objXMLReader.Value+"</b><br/>";

  }

  }

  LblFile.Text=strNodeResult;

  }

  }

  </script>

  <body>

  <h3><font face="Verdana">读取XML方法四</font></h3>

  <from runat=server>

  <asp:label id="LblFile" runat="server" />

  </from>

  </body>

  </html>