using
System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml;
using System.Text;
public partial class xml : System.Web.UI.Page
... {
XmlDocument xmldoc;
XmlElement xmlelem;
XmlNode xmlnode;
protected void Page_Load(object sender, EventArgs e)
...{
// createXmlFile();
//createXmlFile2();
//createXmlNode();
//editXmlFile();
// removeXmlNode();
editAttribute();
}
/**//// <summary>
/// 创建xml文件1
/// </summary>
public void createXmlFile()
...{
xmldoc = new XmlDocument();
xmlnode = xmldoc.CreateNode(XmlNodeType.XmlDeclaration,"","");
xmldoc.AppendChild(xmlnode);
xmlelem=xmldoc.CreateElement("", "Employees","");
xmldoc.AppendChild(xmlelem);
for (int i = 0; i < 3; i++)
...{
XmlNode root = xmldoc.SelectSingleNode("Employees");
XmlElement xe1 = xmldoc.CreateElement("node");
xe1.SetAttribute("genre","刘浩");
xe1.SetAttribute("ISBN", "2-3631-4");
XmlElement xesub1 = xmldoc.CreateElement("title");
xesub1.InnerText = "c#高级编程";
xe1.AppendChild(xesub1);
XmlElement xesub2 = xmldoc.CreateElement("author");
xesub2.InnerText = "詹姆斯";
xe1.AppendChild(xesub2);
XmlElement xesub3 = xmldoc.CreateElement("price");
xesub2.InnerText = "58.3";
xe1.AppendChild(xesub3);
root.AppendChild(xe1);
xmldoc.Save(Server.MapPath("data.xml"));
}
}
/**//// <summary>
/// 创建xml文件
/// </summary>
public void createXmlFile2()
...{
XmlTextWriter xmlwrite;
string strfilename;
strfilename = Server.MapPath("data1.xml");
xmlwrite = new XmlTextWriter(strfilename, Encoding.Default);
xmlwrite.Formatting = Formatting.Indented;
xmlwrite.WriteStartDocument();
xmlwrite.WriteStartElement("Employees");
xmlwrite.WriteStartElement("node");
xmlwrite.WriteStartAttribute("genre","刘洪波");
xmlwrite.WriteStartAttribute("ISBN"," 2 - 3631 - 4");
xmlwrite.WriteStartElement("title");
xmlwrite.WriteString("c#高级编程");
xmlwrite.WriteEndElement();
xmlwrite.WriteStartElement("author");
xmlwrite.WriteString("刘浩");
xmlwrite.WriteEndElement();
xmlwrite.WriteStartElement("price");
xmlwrite.WriteString("53.12");
xmlwrite.WriteEndElement();
xmlwrite.WriteEndElement();
xmlwrite.Close();
}
/**//// <summary>
/// 增加一个节点
/// </summary>
public void createXmlNode()
...{
xmldoc = new XmlDocument();
xmldoc.Load(Server.MapPath("data.xml"));
XmlNode root = xmldoc.SelectSingleNode("Employees");
XmlElement xe1 = xmldoc.CreateElement("node");
xe1.SetAttribute("geren","张三");
xe1.SetAttribute("ISBN", "1-1111-1");
XmlElement xeSub1 = xmldoc.CreateElement("title");
xeSub1.InnerText = "sql server2005高级开发指南";
xe1.AppendChild(xeSub1);
XmlElement xeSub2 = xmldoc.CreateElement("autoer");
xeSub1.InnerText = "李伟";
xe1.AppendChild(xeSub2);
XmlElement xeSub3 = xmldoc.CreateElement("price");
xeSub1.InnerText = "87.5";
xe1.AppendChild(xeSub3);
root.AppendChild(xe1);
xmldoc.Save(Server.MapPath("data.xml"));
}
/**//// <summary>
/// 编辑某个节点的值
/// </summary>
public void editXmlFile()
...{
xmldoc = new XmlDocument();
xmldoc.Load(Server.MapPath("data.xml"));
XmlNodeList nodeList = xmldoc.SelectSingleNode("Employees").ChildNodes;
foreach (XmlNode xn in nodeList)//遍历所有子节点
...{
XmlElement xe = (XmlElement)xn;//将子节点类型转换为XmlElement类型
if (xe.GetAttribute("genre") == "张三")//如果genre属性值为“张三”
...{
xe.SetAttribute("genre", "update张三");//则修改该属性为“update张三”
XmlNodeList nls = xe.ChildNodes;//继续获取xe子节点的所有子节点
foreach (XmlNode xn1 in nls)//遍历
...{
XmlElement xe2 = (XmlElement)xn1;//转换类型
if (xe2.Name == "author")//如果找到
...{
xe2.InnerText = "亚胜";//则修改
}
}
}
}
xmldoc.Save(Server.MapPath("data.xml"));
}
/**//// <summary>
/// 删除一个节点
/// </summary>
public void removeXmlNode()
...{
xmldoc = new XmlDocument();
xmldoc.Load(Server.MapPath("data.xml"));
XmlNode root = xmldoc.SelectSingleNode("Employees");
XmlNodeList nodeList = xmldoc.SelectSingleNode("Employees").ChildNodes;
for (int i = 0; i < nodeList.Count; i++)
...{
XmlElement xe=(XmlElement)nodeList.Item(i);
if (xe.GetAttribute("genre") == "update张三")
...{
root.RemoveChild(xe);
if (i < nodeList.Count) i = i - 1;
}
}
xmldoc.Save(Server.MapPath("data.xml"));
}
/**//// <summary>
/// 修改结点(添加结点的属性和添加结点的自结点)
/// </summary>
public void editAttribute()
...{
xmldoc = new XmlDocument();
xmldoc.Load(Server.MapPath("data.xml"));
XmlNodeList xnl = xmldoc.SelectSingleNode("Employees").ChildNodes;
foreach (XmlNode xn in xnl)
...{
XmlElement xml = (XmlElement)xn;
xml.SetAttribute("test","23433");
XmlElement xmlSub = xmldoc.CreateElement("flag");
xmlSub.InnerText = "1";
xml.AppendChild(xmlSub);
xml.SetAttribute("price","53.4");
}
xmldoc.Save(Server.MapPath("data.xml"));
}
/**//// <summary>
/// 删除某一节点的属性
/// </summary>
public void removeXmlAttribute()
...{
xmldoc = new XmlDocument();
xmldoc.Load(Server.MapPath("data.xml"));
XmlNodeList nodelist = xmldoc.SelectSingleNode("Employees").ChildNodes;
foreach(XmlNode xln in nodelist)
...{
XmlElement xe1 = (XmlElement)xln;
xe1.RemoveAttribute("genre");
XmlNodeList nls = xe1.ChildNodes;
foreach (XmlNode xn1 in nls)
...{
XmlElement xle1 = (XmlElement)xn1;
if (xle1.Name == "flag")
...{
xe1.RemoveChild(xle1);
}
}
}
xmldoc.Save(Server.MapPath("data.xml"));
}
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml;
using System.Text;
public partial class xml : System.Web.UI.Page
... {
XmlDocument xmldoc;
XmlElement xmlelem;
XmlNode xmlnode;
protected void Page_Load(object sender, EventArgs e)
...{
// createXmlFile();
//createXmlFile2();
//createXmlNode();
//editXmlFile();
// removeXmlNode();
editAttribute();
}
/**//// <summary>
/// 创建xml文件1
/// </summary>
public void createXmlFile()
...{
xmldoc = new XmlDocument();
xmlnode = xmldoc.CreateNode(XmlNodeType.XmlDeclaration,"","");
xmldoc.AppendChild(xmlnode);
xmlelem=xmldoc.CreateElement("", "Employees","");
xmldoc.AppendChild(xmlelem);
for (int i = 0; i < 3; i++)
...{
XmlNode root = xmldoc.SelectSingleNode("Employees");
XmlElement xe1 = xmldoc.CreateElement("node");
xe1.SetAttribute("genre","刘浩");
xe1.SetAttribute("ISBN", "2-3631-4");
XmlElement xesub1 = xmldoc.CreateElement("title");
xesub1.InnerText = "c#高级编程";
xe1.AppendChild(xesub1);
XmlElement xesub2 = xmldoc.CreateElement("author");
xesub2.InnerText = "詹姆斯";
xe1.AppendChild(xesub2);
XmlElement xesub3 = xmldoc.CreateElement("price");
xesub2.InnerText = "58.3";
xe1.AppendChild(xesub3);
root.AppendChild(xe1);
xmldoc.Save(Server.MapPath("data.xml"));
}
}
/**//// <summary>
/// 创建xml文件
/// </summary>
public void createXmlFile2()
...{
XmlTextWriter xmlwrite;
string strfilename;
strfilename = Server.MapPath("data1.xml");
xmlwrite = new XmlTextWriter(strfilename, Encoding.Default);
xmlwrite.Formatting = Formatting.Indented;
xmlwrite.WriteStartDocument();
xmlwrite.WriteStartElement("Employees");
xmlwrite.WriteStartElement("node");
xmlwrite.WriteStartAttribute("genre","刘洪波");
xmlwrite.WriteStartAttribute("ISBN"," 2 - 3631 - 4");
xmlwrite.WriteStartElement("title");
xmlwrite.WriteString("c#高级编程");
xmlwrite.WriteEndElement();
xmlwrite.WriteStartElement("author");
xmlwrite.WriteString("刘浩");
xmlwrite.WriteEndElement();
xmlwrite.WriteStartElement("price");
xmlwrite.WriteString("53.12");
xmlwrite.WriteEndElement();
xmlwrite.WriteEndElement();
xmlwrite.Close();
}
/**//// <summary>
/// 增加一个节点
/// </summary>
public void createXmlNode()
...{
xmldoc = new XmlDocument();
xmldoc.Load(Server.MapPath("data.xml"));
XmlNode root = xmldoc.SelectSingleNode("Employees");
XmlElement xe1 = xmldoc.CreateElement("node");
xe1.SetAttribute("geren","张三");
xe1.SetAttribute("ISBN", "1-1111-1");
XmlElement xeSub1 = xmldoc.CreateElement("title");
xeSub1.InnerText = "sql server2005高级开发指南";
xe1.AppendChild(xeSub1);
XmlElement xeSub2 = xmldoc.CreateElement("autoer");
xeSub1.InnerText = "李伟";
xe1.AppendChild(xeSub2);
XmlElement xeSub3 = xmldoc.CreateElement("price");
xeSub1.InnerText = "87.5";
xe1.AppendChild(xeSub3);
root.AppendChild(xe1);
xmldoc.Save(Server.MapPath("data.xml"));
}
/**//// <summary>
/// 编辑某个节点的值
/// </summary>
public void editXmlFile()
...{
xmldoc = new XmlDocument();
xmldoc.Load(Server.MapPath("data.xml"));
XmlNodeList nodeList = xmldoc.SelectSingleNode("Employees").ChildNodes;
foreach (XmlNode xn in nodeList)//遍历所有子节点
...{
XmlElement xe = (XmlElement)xn;//将子节点类型转换为XmlElement类型
if (xe.GetAttribute("genre") == "张三")//如果genre属性值为“张三”
...{
xe.SetAttribute("genre", "update张三");//则修改该属性为“update张三”
XmlNodeList nls = xe.ChildNodes;//继续获取xe子节点的所有子节点
foreach (XmlNode xn1 in nls)//遍历
...{
XmlElement xe2 = (XmlElement)xn1;//转换类型
if (xe2.Name == "author")//如果找到
...{
xe2.InnerText = "亚胜";//则修改
}
}
}
}
xmldoc.Save(Server.MapPath("data.xml"));
}
/**//// <summary>
/// 删除一个节点
/// </summary>
public void removeXmlNode()
...{
xmldoc = new XmlDocument();
xmldoc.Load(Server.MapPath("data.xml"));
XmlNode root = xmldoc.SelectSingleNode("Employees");
XmlNodeList nodeList = xmldoc.SelectSingleNode("Employees").ChildNodes;
for (int i = 0; i < nodeList.Count; i++)
...{
XmlElement xe=(XmlElement)nodeList.Item(i);
if (xe.GetAttribute("genre") == "update张三")
...{
root.RemoveChild(xe);
if (i < nodeList.Count) i = i - 1;
}
}
xmldoc.Save(Server.MapPath("data.xml"));
}
/**//// <summary>
/// 修改结点(添加结点的属性和添加结点的自结点)
/// </summary>
public void editAttribute()
...{
xmldoc = new XmlDocument();
xmldoc.Load(Server.MapPath("data.xml"));
XmlNodeList xnl = xmldoc.SelectSingleNode("Employees").ChildNodes;
foreach (XmlNode xn in xnl)
...{
XmlElement xml = (XmlElement)xn;
xml.SetAttribute("test","23433");
XmlElement xmlSub = xmldoc.CreateElement("flag");
xmlSub.InnerText = "1";
xml.AppendChild(xmlSub);
xml.SetAttribute("price","53.4");
}
xmldoc.Save(Server.MapPath("data.xml"));
}
/**//// <summary>
/// 删除某一节点的属性
/// </summary>
public void removeXmlAttribute()
...{
xmldoc = new XmlDocument();
xmldoc.Load(Server.MapPath("data.xml"));
XmlNodeList nodelist = xmldoc.SelectSingleNode("Employees").ChildNodes;
foreach(XmlNode xln in nodelist)
...{
XmlElement xe1 = (XmlElement)xln;
xe1.RemoveAttribute("genre");
XmlNodeList nls = xe1.ChildNodes;
foreach (XmlNode xn1 in nls)
...{
XmlElement xle1 = (XmlElement)xn1;
if (xle1.Name == "flag")
...{
xe1.RemoveChild(xle1);
}
}
}
xmldoc.Save(Server.MapPath("data.xml"));
}