SerchXML
protected void btnSelect_Click(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
doc.Load(Server.MapPath("book.xml"));//加载XML文件
XmlNodeList nodes;
XmlElement root = doc.DocumentElement;//获得根节点
nodes = root.SelectNodes("descendant::Book[Name='细说ASP.NET']");//检索Book节点
lbResult.Text = "";
//遍历符合检索条件的Book节点内容
foreach (XmlNode node in nodes)
{
for (int i = 0; i <= node.ChildNodes.Count - 1; i++)
{
lbResult.Text = lbResult.Text + node.ChildNodes[i].InnerText + "<br>";
}
}
}
InsertXML
protected void btnAdd_Click(object sender, EventArgs e)
{
//构造一个XML节点(一条记录)
StringBuilder sb = new StringBuilder();
sb.Append("<Books>");
sb.Append("<Book>");
sb.Append("<Name>SQL Server数据库开发与应用</Name>");
sb.Append("<Author>张工</Author>");
sb.Append("<ISBN>956-7</ISBN>");
sb.Append("</Book>");
sb.Append("</Books>");
//DOM加载XML数据
//此处可以扩展,可以加载一个XML文件
XmlDocument doc1 = new XmlDocument();
doc1.LoadXml(sb.ToString());
//读取XML文件
XmlDocument doc2 = new XmlDocument();
doc2.Load(Server.MapPath("book.xml"));
//在XML文件中插入构造的XML节点
XmlNode newNode = doc2.ImportNode(doc1.DocumentElement.LastChild, true);
doc2.DocumentElement.AppendChild(newNode);
//保存修改
doc2.Save(Server.MapPath("book.xml"));
Page.ClientScript.RegisterStartupScript(GetType(), "", "alert('插入XML节点成功!');", true);
}
DeleteXML
protected void btnDelete_Click(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
doc.Load(Server.MapPath("book.xml"));
XmlNodeList nodes;
XmlElement root = doc.DocumentElement;
nodes = root.SelectNodes("descendant::Book[Name='SQL Server数据库开发与应用']");
foreach (XmlNode node in nodes)
{
root.RemoveChild(node);
}
doc.Save(Server.MapPath("book.xml"));
Page.ClientScript.RegisterStartupScript(GetType(), "", "alert('删除XML节点成功!');", true);
}