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> |
添加删改的实例
XML文件名为bcastr.xml
结构如下:
代码如下 | 复制代码 |
<?xml version="1.0" encoding="utf-8"?> <bcaster> <item id="79" item_url="PicNews/Img/u=404630538,2075277077" link="HTML/050/AI_20081017_50_53_79.html" itemtitle="111111111111111111" /> <item id="78" item_url="PicNews/Img/Index_04_01_06.jpg" link="HTML/050/AI_20081017_50_53_78.html" itemtitle="zengjia" /> <item id="77" item_url="PicNews/Img/bsxwf.jpg" link="HTML/050/AI_20081017_50_53_77.html" itemtitle="中国药科大学研究生部" /> <item id="76" item_url="PicNews/Img/江宁大门.jpg" link="HTML/050/AI_20081017_50_53_76.html" itemtitle="研究生部图片新闻" /> <item id="75" item_url="PicNews/Img/中国药科大学校标(完美2).jpg" link="HTML/050/AI_20081017_50_53_75.html" itemtitle="新闻测试图片新闻" /> </bcaster> |
添加节点的函数:
///
代码如下 | 复制代码 |
将图片新闻信息写入到图片新闻播放器的XML文件集中 /// </summary> /// <param name="picpath">图片路径</param> /// <param name="htmlpath">图片新闻网址</param> /// <param name="title">标题</param> public void WritePicNewsXML(string picpath, string htmlpath, string title,string aid) { XmlDocument xmlDoc; xmlDoc = new XmlDocument(); xmlDoc.Load(HttpContext.Current.Server.MapPath("../PicNews/bcastr.xml")); XmlNodeList xnl = xmlDoc.SelectSingleNode("bcaster").ChildNodes; XmlElement fel = (XmlElement)rootnode.FirstChild; XmlElement el = xmlDoc.CreateElement("item");//添加子节点及属性 xmlDoc.Save(HttpContext.Current.Server.MapPath("../PicNews/bcastr.xml")); /// <summary> XmlDocument xmlDoc; XmlNodeList xnl = xmlDoc.SelectSingleNode("bcaster").ChildNodes; xmlDoc.Save(HttpContext.Current.Server.MapPath("../PicNews/bcastr.xml")); |
删除指定的XML节点的函数:
代码如下 | 复制代码 |
/// <summary> /// 删除XML指定节点 /// </summary> /// <param name="aid"></param> public void DelPicNewsXML(string aid) { XmlDocument xmlDoc; xmlDoc = new XmlDocument(); xmlDoc.Load(HttpContext.Current.Server.MapPath("../PicNews/bcastr.xml")); XmlNodeList xnl = xmlDoc.SelectSingleNode("bcaster").ChildNodes; xmlDoc.Save(HttpContext.Current.Server.MapPath("../PicNews/bcastr.xml")); |