分析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+="&nbsp;-Value:<b>"+objXMLReader.Value+"</b><br/>"; 
  break; 
 
  } 
  //判断该节点是否有属性 
  if(objXMLReader.AttributeCount>0) 
  { //用循环判断完所有节点 
  while(objXMLReader.MoveToNextAttibute) 
  { //取标签和值 
  strNodeResult+="&nbsp;-Attribute:<b>"+objXMLReader.Name+"</b>&nbsp;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>

原文地址:https://www.cnblogs.com/iChina/p/2247436.html