知识大全 遍历现有XML文件,同时写入到新文件中
Posted 文件
篇首语:君不见长松卧壑困风霜,时来屹立扶明堂。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 遍历现有XML文件,同时写入到新文件中相关的知识,希望对你有一定的参考价值。
遍历现有XML文件,同时写入到新文件中 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
用xpathnavigator和实体引用
xpathnavigator 虽然也是以DOM树方式在内在组织数据 但已经过优化 可对数据进行修改 并且访问灵活 对比XML LOAD()方式 在效率上提升了不少
在追加时采用实体引用 这样不会把新XML文件全部载入内存 用流的方式追加到文件末尾 省资源 速度快 当文件较大时尤为明显 using System Xml; using System Xml XPath; using System IO; class Program static StreamWriter sw = new StreamWriter(@ second txt true Encoding UTF ); //创建调用的实体 second 要写入的文件 static XmlTextWriter x = new XmlTextWriter(sw); static void Main(string[] args) XPathDocument doc = new XPathDocument(@ first xml ); //first 第一个文件 XPathNavigator navigator = doc CreateNavigator(); navigator MoveToRoot(); x Formatting = Formatting Indented; CreatFiles( second ); //如果second xml不存在 则在此创建 WriteRecursive(navigator); //从根节点开始 x Flush(); x Close(); static private void WriteRecursive(XPathNavigator navigator) if (navigator HasChildren) navigator MoveToFirstChild(); WriteNode(navigator); WriteRecursive(navigator); navigator MoveToParent(); while (navigator MoveToNext()) WriteNode(navigator); WriteRecursive(navigator); if (navigator MoveToParent() && navigator Name != root ) x WriteEndElement(); else x WriteEndElement(); static private void WriteNode(XPathNavigator navigator) if (navigator NodeType == XPathNodeType Text) x WriteString(navigator Value); //写文本节点 else if (navigator Name != string Empty) x WriteStartElement(navigator Name); //写元素节点 static private void CreatFiles(string M_str_fname) XmlTextWriter xWriter = new XmlTextWriter(M_str_fname + xml Encoding Default); xWriter Formatting = Formatting Indented; xWriter WriteStartDocument(); xWriter WriteComment(M_str_fname); string name = M_str_fname + txt ; //实体文件全名 xWriter WriteDocType( Log null null <!ENTITY Log SYSTEM + name + > );//声明调用文件 xWriter WriteStartElement( M_str_fname );//引入调用文件 xWriter WriteEntityRef( Log ); xWriter WriteEndElement(); xWriter WriteEndDocument(); xWriter Flush(); xWriter Close();
cha138/Article/program/net/201311/13362相关参考
如何使用ASPNET和VisualC#NET向浏览器写入二进制文件 概要本分步指南创建了一个示例页该页演示了如何从文件中检索二进制数据然后如何使用ASPNET和VisualC#将该数据写出到浏览
ASP.NET创建文件并写入内容 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在ASPNET中
读取xml文件 /** *利用XmlBeanFactory(Resourceresource) *这里Resource必须是xml格式 *Resource包括AbstractResourc
JAVA读取xml文件中节点值 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! importwcd
知识大全 .NET FileStreams将DTD插入XML文件中
.NETFileStreams将DTD插入XML文件中 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
知识大全 利用.NET FileStreams将DTD插入XML文件中
利用.NETFileStreams将DTD插入XML文件中 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一
publicstaticbooleanupdateFile(Stringstr) str=test; booleanblg=false; try BufferedWriterbw=ne
讲解Oracle移动数据文件到新分区的过程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!此过程用s
这几天在做一个东西研究PHP读取行数较多的文件(大概上百万行)考虑到效率问题进行了简单的研究总结如下 第一条file()函数的效率问题 file()函数的效率很底下如果是有规律的文件比如每行一
使用.NET向浏览器写入二进制文件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!确保要从其上查看a