XML文件的读取用XmlDocument和XmlReader的比较
来源:互联网 发布:vb与c语言的区别 编辑:程序博客网 时间:2024/05/16 18:39
XmlReader是基于数据流的,占用极少的内存,是只读方式的,所以速度极快.只能采用遍历的模式查找数据节点。
XmlTextReader textReader = new XmlTextReader("C://myXmFile.xml");
textReader.Read();
// 节点非空则执行循环体
while ( textReader.Read() )
{
// 读取第一个元素
textReader.MoveToElement();
Console.WriteLine("XmlTextReader Properties Test");
Console.WriteLine("===================");
// 读取该元素的属性并显示在控制台中
Console.WriteLine("Name:"+ textReader.Name);
Console.WriteLine("Base URI:" +textReader.BaseURI);
Console.WriteLine("Local Name:"+ textReader.LocalName);
Console.WriteLine("Attribute Count:"+ textReader.AttributeCount.ToString());
Console.WriteLine("Depth:"+ textReader.Depth.ToString());
Console.WriteLine("Line Number:" +textReader.LineNumber.ToString());
Console.WriteLine("Node Type:"+ textReader.NodeType.ToString());
Console.WriteLine("Attribute Count:" + textReader.Value.ToString());
}
XmlDocument是基于树形结构的模型,数据保存于内存中,可以查找内存中数据的任何方面。占用内存大,处理方便,可读可写,几乎想当于一次把Xml读入内存.
xmldocument doc=new xmldocument();
doc.load("config.xml");
xmlnode xnuser=doc.selectsinglenode("userdata");
string flag=xnuser.attributes["createuser"].innertext;
读取节点中的值
xmldocument doc=new xmldocument();
doc.load("config.xml");
xmlnode xnserver = doc.selectsinglenode("userdata/dataconnection/server");
修改节点的属性
xmldocument doc=new xmldocument();
doc.load("config.xml");
xmlnode xnuser=doc.selectsinglenode("userdata");
xnuser.attributes["createuser"].innertext="false";
doc.save("config.xml");
追加节点
xmldocument doc = new xmldocument();
xmltextreader reader = new xmltextreader("config.xml");
doc.load("config.xml");
xmlelement root = doc.documentelement; // 获取根节点
xmlelement tagmessage = doc.createelement("net");
xmlelement tagtext = doc.createelement("name");
tagtext.innertext = netname;
tagmessage.appendchild(tagtext); // 追加到 xml 文本的最后面
root.appendchild(tagmessage);
reader.close(); // 关闭 xmltextreader
doc.save("config.xml"); // 保存 xml 文件
所以:
如果数据量极大,用XmlReader合适,
如果处理复杂频繁且文件不大,XmlDocument合适。
- XML文件的读取用XmlDocument和XmlReader的比较
- XML文件的读取用XmlDocument和XmlReader的比较
- XML文件的读取用XmlDocument和XmlReader的比较
- XML:XMLTextReader和XmlDocument读取XML文件的比较
- XMLTextReader和XmlDocument读取XML文件的比较
- XMLTextReader和XmlDocument读取XML文件的比较
- XMLTextReader和XmlDocument读取XML文件的比较
- XMLTextReader和XmlDocument读取XML文件的比较
- XMLTextReader和XmlDocument读取XML文件的比较
- XMLTextReader和XmlDocument读取XML文件的比较(转)
- 使用XmlReader和XmlDocument 读取xml文件,使用总结
- 使用XMLReader、XMLDocument和DataSet读取xml文件及效率
- C# 关于 xmlreader xmldocument 和xpath 之间的性能比较
- Extjs GridPanel用XmlReader读取xml文件的数据
- Extjs GridPanel用XmlReader读取xml文件的数据
- 通过XMLReader 读取服务器的xml 文件(通过sax2)
- XMLReader—一个可以读取XML文件的java类
- XmlDocument与XmlReader比较
- 数据包传输的全过程
- 刚刚完成的一个进程通信及托管非托管混合编程的总结之CFileMapping
- C++库大全
- ◎VBS编程打造自己的病毒专杀工具
- Ctrl+Enter提交事件
- XML文件的读取用XmlDocument和XmlReader的比较
- __cdecl,__fastcall, __stdcall 什么区别?
- C++ Builder VCL库函数简介
- Improved Unhandled Exception behavior in .net 2.0
- 互联网的未来在中国,中国未来的互联网在我们
- delphi汉字首字母索引函数
- 现自定义page基类时需要注意的地方
- 使用C#操作ini文件
- ◎VBS脚本运行库手册之二 ——管理文件夹