方法一 :使用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> 修改: using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Xml; private XmlDocument xmlDoc; //load xml file private void LoadXml() { xmlDoc=new XmlDocument(); xmlDoc.Load(Server.MapPath("User.xml")); } //添加节点 private void AddElement() { LoadXml(); XmlNode xmldocSelect=xmlDoc.SelectSingleNode("user"); XmlElement el=xmlDoc.CreateElement("person"); //添加person节点 el.SetAttribute("name","风云"); //添加person节点的属性"name" el.SetAttribute("sex","女"); //添加person节点的属性 "sex" el.SetAttribute("age","25"); //添加person节点的属性 "age" XmlElement xesub1=xmlDoc.CreateElement("pass"); //添加person节点的里的节点 xesub1.InnerText="123";//设置文本节点 el.AppendChild(xesub1); XmlElement xesub2=xmlDoc.CreateElement("Address"); xesub2.InnerText="昆明";//设置文本节点 el.AppendChild(xesub2); xmldocSelect.AppendChild(el); xmlDoc.Save(Server.MapPath("user.xml")); } //修改节点 private void UpdateElement() { LoadXml(); XmlNodeList nodeList=xmlDoc.SelectSingleNode("user").ChildNodes;//获取bookstore节点的所有子节点 foreach(XmlNode xn in nodeList)//遍历所有子节点 { XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型 if(xe.GetAttribute("name")=="风云")//如果name属性值为“风云” { xe.SetAttribute("name","发明"); //如果下面有子节点在下走 XmlNodeList nls=xe.ChildNodes;//继续获取xe子节点的所有子节点 foreach(XmlNode xn1 in nls)//遍历 { XmlElement xe2=(XmlElement)xn1;//转换类型 if(xe2.Name=="pass")//如果找到 { xe2.InnerText="66666";//则修改 break; } } break; } } xmlDoc.Save(Server.MapPath("user.xml"));//保存 }
|