ASP.NET操作簡單的xml,增刪改查

溫習一下對xml的簡單操作,貼出來收藏
xml文件格式:

?xmlversion="1.0"encoding="utf-8"?
students
student
id4/id
name肖品4/name
age21/age
/student
student
id5/id
name肖品5/name
age22/age
/student
student
id1/id
name肖品1/name
age18/age
/student
student
id2/id
name肖品2/name
age19/age
/student
student
id3/id
name肖品3/name
age20/age
/student
/students



XMLtoDataSet.aspx 這個頁面包含了增刪改查

usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Web;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Data;
usingSystem.Xml;
usingSystem.IO;

namespaceXMLWEB
{
publicpartialclassXMLtoDataSet:System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!IsPostBack)
{
LoadGridView();
}
}

privatevoidLoadGridView()
{
//轉換一個XML文件(本地\網絡均可)爲一個DataSet
DataSetds=newDataSet();
//ds=XMLDataSetConverter.ConvertXMLFileToDataSet(Server.MapPath("xmltodataset.xml"));
//ds=XMLDataSetConverter.ConvertXMLFileToDataSet("http://news.baidu.com/n?cmd=1class=sportnewstn=rss");
//foreach(DataRowrowinds.Tables[0].Rows)
//{
//stringname=row["name"].ToString();
//stringage=row["age"].ToString();
//}

StringReadersreader=null;
XmlTextReaderxtreader=null;
try
{
XmlDocumentdoc=newXmlDocument();
doc.Load(Server.MapPath("xmltodataset.xml"));

sreader=newStringReader(doc.InnerXml);
xtreader=newXmlTextReader(sreader);
ds.ReadXml(xtreader);
}
catch(Exception)
{

throw;

}
finally
{
xtreader.Close();
sreader.Close();
}

this.GridView1.DataSource=ds.Tables[0];
this.GridView1.DataBind();
}

protectedvoidButton1_Click(objectsender,EventArgse)
{
this.Add();
}

protectedvoidButton2_Click(objectsender,EventArgse)
{
this.Update();
}

protectedvoidGridView1_RowCommand(objectsender,GridViewCommandEventArgse)
{
if(e.CommandName=="edi")
{
//通過ID獲取對象,給控件賦值
string[]entity=this.GetEntity(e.CommandArgument.ToString()).Split('|');
this.TextBox4.Text=entity[0];
this.TextBox5.Text=entity[1];
this.TextBox6.Text=entity[2];
}
elseif(e.CommandName=="del")
{
//通過ID刪除對象
this.Delete(e.CommandArgument.ToString());
}
}


privatevoidAdd()
{
stringid=this.TextBox1.Text;
stringname=this.TextBox2.Text;
stringage=this.TextBox3.Text;

//在第一個前面插入一條信息
XmlDocumentdoc=newXmlDocument();
doc.Load(Server.MapPath("xmltodataset.xml"));
XmlNodestudents=doc.SelectSingleNode("students");

XmlElementstudent=doc.CreateElement("student");
//student.SetAttribute("id",id);

XmlElementele_id=doc.CreateElement("id");
ele_id.InnerText=id;
student.AppendChild(ele_id);

XmlElementele_name=doc.CreateElement("name");
ele_name.InnerText=name;
student.AppendChild(ele_name);

XmlElementele_age=doc.CreateElement("age");
ele_age.InnerText=age;
student.AppendChild(ele_age);

students.InsertBefore(student,students.FirstChild);

doc.Save(Server.MapPath("xmltodataset.xml"));

//重新加載GridView
LoadGridView();

this.TextBox1.Text="";
this.TextBox2.Text="";
this.TextBox3.Text="";
}
privatevoidDelete(stringid)
{
//通過ID獲取信息
XmlDocumentdoc=newXmlDocument();
doc.Load(Server.MapPath("xmltodataset.xml"));
XmlNodestudents=doc.SelectSingleNode("students");
foreach(XmlNodestudentinstudents.ChildNodes)
{
XmlNodenode_id=student.FirstChild;
if(node_id.InnerText==id)
{
student.ParentNode.RemoveChild(student);
}
}
doc.Save(Server.MapPath("xmltodataset.xml"));
LoadGridView();
}
privatevoidUpdate()
{
stringid=this.TextBox4.Text;
stringname=this.TextBox5.Text;
stringage=this.TextBox6.Text;

//通過ID獲取信息,然後更改信息
XmlDocumentdoc=newXmlDocument();
doc.Load(Server.MapPath("xmltodataset.xml"));
XmlNodestudents=doc.SelectSingleNode("students");
foreach(XmlNodestudentinstudents.ChildNodes)
{
XmlNodetemp_node=student.FirstChild;
if(temp_node.InnerText==id)
{
//第一種方式
//student.RemoveAll();
//XmlElementele_id=doc.CreateElement("id");
//ele_id.InnerText=id;
//student.AppendChild(ele_id);

//XmlElementele_name=doc.CreateElement("name");
//ele_name.InnerText=name;
//student.AppendChild(ele_name);

//XmlElementele_age=doc.CreateElement("age");
//ele_age.InnerText=age;
//student.AppendChild(ele_age);

//第二種方式
student.ChildNodes[0].InnerText=id;
student.ChildNodes[1].InnerText=name;
student.ChildNodes[2].InnerText=age;

doc.Save(Server.MapPath("xmltodataset.xml"));
break;
}
}

LoadGridView();
}
privatestringGetEntity(stringid)
{
stringentity="";
XmlDocumentdoc=newXmlDocument();
doc.Load(Server.MapPath("xmltodataset.xml"));
XmlNodestudents=doc.SelectSingleNode("students");

foreach(XmlNodestudentinstudents.ChildNodes)
{
XmlNodetemp_node=student.FirstChild;
if(temp_node.InnerText==id)
{
foreach(XmlNodeiteminstudent.ChildNodes)
{
entity+=item.InnerText+"|";
}
entity=entity.Substring(0,entity.Length-1);
break;
}
}
returnentity;
}
}
}



項目示例下載:XMLDemo.rar

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章