操作Xml文件
来源:互联网 发布:工作于数据物理层 编辑:程序博客网 时间:2024/05/18 03:27
操作Xml文件有2大类:
一:XmlDocument
定义和显示
XmlDocument xmldoc; //定义3个对象
XmlNode xmlnode;
XmlElement xmlelem;
public void XmlShow() //显示XML
...{
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(Server.MapPath("xml1.xml"));
xm1.Document=xmldoc; //asp.net控件asp:Xml
}1:写xml文件
xmldoc =new XmlDocument();
XmlDeclaration xmldecl; //输入头
xmldecl =xmldoc.CreateXmlDeclaration("1.0","gb2312",null);
xmldoc.AppendChild(xmldecl);
xmlelem = xmldoc.CreateElement("","player",""); //加入根元素
xmldoc.AppendChild(xmlelem);
XmlNode root=xmldoc.SelectSingleNode("player");
XmlElement xe=xmldoc.CreateElement("card");
xe.SetAttribute("id","1");
xe.SetAttribute("sex","男");
XmlElement xue1=xmldoc.CreateElement("name"); //加入节点 xue1
xue1.InnerText="张飞";
xe.AppendChild(xue1);
XmlElement xue2=xmldoc.CreateElement("send");
xue2.InnerText="zhangfei@163.com";
xe.AppendChild(xue2);
XmlElement xue3=xmldoc.CreateElement("Age");
xue3.InnerText="19";
xe.AppendChild(xue3);
root.AppendChild(xe);
XmlElement xg=xmldoc.CreateElement("card"); //第二项
xg.SetAttribute("id","2");
xg.SetAttribute("sex","女");
XmlElement xue4=xmldoc.CreateElement("name"); //加入节点 xue1
xue4.InnerText="清华";
xg.AppendChild(xue4);
XmlElement xue5=xmldoc.CreateElement("send");
xue5.InnerText="qinghua@263.com";
xg.AppendChild(xue5);
XmlElement xue6=xmldoc.CreateElement("Age");
xue6.InnerText="30";
xg.AppendChild(xue6);
root.AppendChild(xg);
xmldoc.Save(Server.MapPath("xml1.xml"));
XmlShow(); //显示
2:修改xml文件
xmldoc = new XmlDocument();
xmldoc.Load(Server.MapPath("xml1.xml"));
XmlNodeList nodelist = xmldoc.SelectSingleNode("player").ChildNodes;
foreach(XmlNode xn in nodelist)
...{
XmlElement xe=(XmlElement)xn;
if(xe.GetAttribute("id")=="2")
...{
xe.SetAttribute("id","3");
XmlNodeList xl = xe.ChildNodes;
foreach( XmlNode xl1 in xl)
...{
XmlElement gt= (XmlElement)xl1;
if(gt.Name=="Age")
...{
gt.InnerText="28";
}
}
}
}
xmldoc.Save(Server.MapPath("xml1.xml"));
XmlShow();3:添加
xmldoc = new XmlDocument();
xmldoc.Load(Server.MapPath("xml1.xml"));
XmlNode root=xmldoc.SelectSingleNode("player");
XmlElement xq =xmldoc.CreateElement("card");
xq.SetAttribute("id","4");
xq.SetAttribute("sex","女");
XmlElement xq1=xmldoc.CreateElement("name");
xq1.InnerText="王八";
xq.AppendChild(xq1);
XmlElement xq2=xmldoc.CreateElement("send");
xq2.InnerText="wangba@tom.com";
xq.AppendChild(xq2);
root.AppendChild(xq);
xmldoc.Save(Server.MapPath("xml1.xml"));
XmlShow(); //显示4:删除节点或属性
xmldoc = new XmlDocument();
xmldoc.Load(Server.MapPath("xml1.xml"));
XmlNodeList nodelist = xmldoc.SelectSingleNode("player").ChildNodes;
foreach(XmlNode xn in nodelist)
...{
XmlElement xe=(XmlElement)xn;
if(xe.GetAttribute("id")=="2")
...{
xe.RemoveAttribute("id");
xe.RemoveChild(xe.LastChild); //删除最后一个节点,参数是int的
}
}
xmldoc.Save(Server.MapPath("xml1.xml"));
XmlShow();
二:XmlTextReader和XmlTextWriter(都是基于流的,只写了reader)
XmlTextReader reader; //定义
string filename=Server.MapPath("data.xml");
reader=new XmlTextReader(filename);
try
...{
while(reader.Read())
...{
switch(reader.NodeType)
...{
case XmlNodeType.Element:
Response.Write(Server.HtmlEncode("<"+reader.Name+">")+"<br>");
break;
case XmlNodeType.Text:
Response.Write(reader.Value+"<br>");
break;
case XmlNodeType.CDATA:
Response.Write(Server.HtmlEncode("<![CDATA["+reader.Value+"]]")+"<br>");
break;
case XmlNodeType.ProcessingInstruction:
Response.Write(Server.HtmlEncode("<?"+reader.Name+" "+reader.Value+"?>")+"<br>");
break;
case XmlNodeType.Comment:
Response.Write(Server.HtmlEncode("<!--"+reader.Value+"-->")+"<br>");
break;
case XmlNodeType.XmlDeclaration:
Response.Write(Server.HtmlEncode("<?xml version='1.0'?>")+"<br>");
break;
case XmlNodeType.Document:
break;
case XmlNodeType.DocumentType:
Response.Write(Server.HtmlEncode("<!DOCTYPE "+reader.Name+" ["+reader.Value+"]")+"<br>");
break;
case XmlNodeType.EntityReference:
Response.Write(reader.Name+"<br>");
break;
case XmlNodeType.EndElement:
Response.Write(Server.HtmlEncode("</"+reader.Name+">")+"<br>");
break;
}
}
}
finally
...{
if(reader!=null)
reader.Close();
}
- 操作简单XML文件
- JDOM操作XML文件
- JDOM操作XML文件
- 操作Xml文件
- JDOM操作XML文件
- JDOM操作XML文件
- XML文件操作
- delphi操作xml文件
- javascipt操作xml文件
- JDOM操作XML文件
- XML文件操作
- xml文件操作( 读写)
- ajax操作xml文件
- Dom4j操作XML文件
- C#操作XML文件
- xml文件操作(dom4j)
- xml文件操作
- C# 操作 XML文件
- 基于Visual C++6.0的DLL编程实现
- 各位大虾好!请问在ASP.NET2.0中如何调用GridView的自带的Edit事件(方法)急急!!!
- 开始学习写blog!
- 在Windows xp系统上安装SQL server服务器版
- java.lang.OutOfMemoryError 解决方法
- 操作Xml文件
- 谁动了我们的DNS
- windows下将cvs Repository转换成subversion(cvs2svn)
- [收藏]C语言测试:想成为嵌入式程序员应知道的0x10个基本问题
- 关闭常见的端口
- 堆和栈的区别
- 2006-10-16 日记
- 用VC++来设计ActiveX控件
- 正棱锥