知识大全 遍历现有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创建文件并写入内容

ASP.NET创建文件并写入内容  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在ASPNET中

知识大全 spring中读取xml配置文件、获取bean

  读取xml文件  /**  *利用XmlBeanFactory(Resourceresource)  *这里Resource必须是xml格式  *Resource包括AbstractResourc

知识大全 JAVA读取xml文件中节点值

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)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 java操作将内容写入文件

  publicstaticbooleanupdateFile(Stringstr)    str=test;  booleanblg=false;  try  BufferedWriterbw=ne

知识大全 讲解Oracle移动数据文件到新分区的过程

讲解Oracle移动数据文件到新分区的过程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!此过程用s

知识大全 php有规律大文件的读取与写入

  这几天在做一个东西研究PHP读取行数较多的文件(大概上百万行)考虑到效率问题进行了简单的研究总结如下  第一条file()函数的效率问题  file()函数的效率很底下如果是有规律的文件比如每行一

知识大全 使用.NET 向浏览器写入二进制文件

使用.NET向浏览器写入二进制文件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!确保要从其上查看a