从C#中的XmlNodeList写入txt文件

时间:2012-07-03 10:17:29

标签: c# xml

是否可以将XmlNodeList中的每个元素写入.txt文件,以及如何完成。不需要解析,我只想将其写入txt文件。我正在尝试用StramWriter完成它,但到目前为止还没有运气。现在,我通过创建一个包含节点的字符串(它的内部XML +开始和结束标记)来做到这一点,但由于我有大量节点要进入低谷,这非常慢。

4 个答案:

答案 0 :(得分:2)

using (var writer = System.IO.File.CreateText("myFile.txt"))
{
  foreach (node in nodeList)
  {
      writer.WriteLine(node.OuterXml);   // InnerXml to get only the content
  }
}

答案 1 :(得分:0)

考虑使用XmlDocument。它有几种保存方法。

然而,XmlDocument非常耗费内存,所以如果你的列表很长,它可能不是最好的选择。它还使用空格缩进(默认情况下),因此文件可能很大。

但如果你的名单很小,一切都很容易。

答案 2 :(得分:0)

答案 3 :(得分:0)

你的意思是:

XmlNodeList nodeList = ...;
String txt = "";
foreach (XmlNode xmlNode in nodeList)
{
    txt += xmlNode.OuterXml;
}
File.WriteAllText("xmlFile.txt",txt);

在大数据使用StreamWriter

时获得更高的性能
using (var streamWriter = new StreamWriter("Path"))
{
    foreach (XmlNode xmlNode in nodeList)
    {
        streamWriter.WriteLine(xmlNode.OuterXml);
    }
}