1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > ASP.NET中读取XML文件4种方法

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

时间:2022-02-06 03:15:19

相关推荐

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

参考文章:/maoyu417/archive//11/02/946901.html

一共有四种方法,创建一个项目,下面有四个页面,如下图所示:

data7.xml内容如下所示:

[c-sharp]view plaincopyprint? <?xmlversion="1.0"encoding="utf-8"?><Advertisements><Ad><ImageUrl>001.jpg</ImageUrl><NavigateUrl>001.aspx</NavigateUrl><Impressions>10</Impressions><Keyword>gucas01</Keyword></Ad><Ad><ImageUrl>002.jpg</ImageUrl><NavigateUrl>002.aspx</NavigateUrl><Impressions>20</Impressions><Keyword>gucas02</Keyword></Ad><Ad><ImageUrl>003.jpg</ImageUrl><NavigateUrl>003.aspx</NavigateUrl><Impressions>30</Impressions><Keyword>gucas03</Keyword></Ad><Ad><ImageUrl>004.jpg</ImageUrl><NavigateUrl>004.aspx</NavigateUrl><Impressions>40</Impressions><Keyword>gucas04</Keyword></Ad><Ad><ImageUrl>005.jpg</ImageUrl><NavigateUrl>005.aspx</NavigateUrl><Impressions>50</Impressions><Keyword>gucas05</Keyword></Ad><Ad><ImageUrl>google.gif</ImageUrl><NavigateUrl></NavigateUrl><Impressions>30</Impressions><Keyword>google</Keyword></Ad></Advertisements>

方法1:使用XML控件

Default.aspx代码如下:

[c-sharp]view plaincopyprint? <%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="_Default"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="/1999/xhtml"><headrunat="server"><title></title></head><body><h3><fontface="Verdana">读取XML方法一:使用XML控件</font></h3><formid="form1"runat="server"><div><asp:Xmlid="xml1"DocumentSource="data7.xml"runat="server"/></div></form></body></html>

Default.aspx.cs不做修改。

发布结果如下图所示:

方法二: 使用DOM技术

Default.aspx

[c-sharp]view plaincopyprint? <%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default2.aspx.cs"Inherits="Default2"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="/1999/xhtml"><headrunat="server"><title></title></head><body><h3><fontface="Verdana">读取XML方法二:使用DOM技术</font></h3><formid="form1"runat="server"><div><asp:Xmlid="xml1"runat="server"/></div></form></body></html>

Default.aspx.cs

[c-sharp]view plaincopyprint? usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Xml;publicpartialclassDefault2:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){XmlDocumentdoc=newXmlDocument();doc.Load(Server.MapPath("data7.xml"));xml1.Document=doc;}}

发布结果如下所示:

方法三:使用DataSet对象

Default.aspx

[c-sharp]view plaincopyprint? <body><h3><fontface="Verdana">读取XML方法三:使用DataSet对象</font></h3><formid="form1"runat="server"><div><asp:DataGridid="dgEmployees"runat="server"/></div></form></body>

Default.aspx.cs

[c-sharp]view plaincopyprint? publicpartialclassDefault3:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){DataSetobjDataSet=newDataSet();objDataSet.ReadXml(Server.MapPath("data7.xml"));//方法1//dgEmployees.DataSource=objDataSet;//dgEmployees.DataBind();//方法2dgEmployees.DataSource=objDataSet.Tables["Ad"].DefaultView;dgEmployees.DataBind();}}

发布结果如下所示:

方法四:按文本方式读取

Default.aspx

[c-sharp]view plaincopyprint? <body><h3><fontface="Verdana">读取XML方法四:按文本方式读取</font></h3><formid="form1"runat="server"><div><asp:labelid="LblFile"runat="server"/></div></form></body>

Default.aspx.cs

[c-sharp]view plaincopyprint? publicpartialclassDefault4:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){XmlTextReaderobjXMLReader=newXmlTextReader(Server.MapPath("web.config"));stringstrNodeResult="";XmlNodeTypeobjNodeType;while(objXMLReader.Read()){objNodeType=objXMLReader.NodeType;switch(objNodeType){caseXmlNodeType.XmlDeclaration://读取XML文件头strNodeResult+="XMLDeclaration:<b>"+objXMLReader.Name+""+objXMLReader.Value+"</b><br/>";break;caseXmlNodeType.Element://读取标签strNodeResult+="Element:<b>"+objXMLReader.Name+"</b><br/>";break;caseXmlNodeType.Text://读取值strNodeResult+="-Value:<b>"+objXMLReader.Value+"</b><br/>";break;}if(objXMLReader.HasAttributes){//用循环判断完所有节点while(objXMLReader.MoveToNextAttribute()){//取标签和值strNodeResult+="-Attribute:<b>"+objXMLReader.Name+"</b>value:<b>"+objXMLReader.Value+"</b><br/>";}}LblFile.Text=strNodeResult;}}}

发布结果如下所示:

本文转自xwdreamer博客园博客,原文链接:/xwdreamer/archive//04/27/2297022.html,如需转载请自行联系原作者

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。