从今天开始学习XML(一)
打算从今天开始学习XML,到网上搜了些资料,下了些电子书籍,看得我头大。于是我就下了点代码研究下。
用GOOGLE搜了个ASP.NET+XML做的留言版,看了下代码,看到基本的XML操作
1。删除节点
XmlDocument doc=new XmlDocument();
doc.Load("data/guestbook.xml");
XmlNode user;
XmlNode root=doc.DocumentElement;
user=root.SelectSingleNode("user[id="+id+"]");
root.RemoveChild(user);
doc.Save("data/guestbook.xml");
2。更新节点
XmlDocument doc=new XmlDocument();
doc.Load("data/guestbook.xml");
XmlNode root=doc.DocumentElement;
XmlNode user=root.SelectSingleNode("user[id="+id+"]");
XmlNode content=user.SelectSingleNode("content");
string reply=(TextBox)e.Item.FindControl("tbreply")).Text;
content.InnerText=content.InnerText+reply;
doc.Save("data/guestbook.xml");
3。填加节点
XmlDocument doc=new XmlDocument();
doc.Load("data/guestbook.xml");
XmlElement root=doc.DocumentElement;//获取根节点
XmlElement elemuser=doc.CreateElement("user");
XmlElement elemid=doc.CreateElement("id");
elemuser.AppendChild(elemid);
int id=0;
if(root.HasChildNodes)
{
id=int.Parse(root.LastChild.FirstChild.InnerText)+1;
}
else {id=1;}
root.AppendChild(elemuser);
elemid.InnerText=id.ToString();
XmlElement elem2=doc.CreateElement("name");
elem2.InnerText=tbname.Text.Replace(">",">").Replace("<","<");
elemuser.AppendChild(elem2);
注意:节点下的第一个元素和第二个元素填加时的差异。一个是root.AppendChild(elemuser);一个是elemuser.AppendChild(elem2);
.................................
XmlElement elem9=doc.CreateElement("time");
elem9.InnerText=DateTime.Now.ToString();
elemuser.AppendChild(elem9);
doc.Save("data/guestbook.xml");
相关XML文件如下:














这里有点要注意的是<.>是XML中的关键字,要用替换的方法,
C#函数如下:
















本文版权属于王传炜所有,首发http://www.cnblogs.com/,转载请注明出处。