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

时间:2022-09-10 11:20:03
方法一 :使用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>