X文档覆盖c#中的现有文件

时间:2015-05-18 13:51:48

标签: c# xml

var filename = "C:\\Users\\qadeer.hussain\\Desktop\\gw-msg.log";
var xmlText = new StringBuilder();
bool isXml = false;
foreach (var line in System.IO.File.ReadLines(filename))
{
    if (line.Trim().StartsWith("<Message"))
        isXml = true;

    if (isXml)
    {
        xmlText.Append(line);
        if (line.Trim().EndsWith("</Message>"))
        {
            //Response.Write(xmlText.ToString());
            var xdoc= XDocument.Parse(xmlText.ToString());
            xdoc.Save("C:\\Users\\qadeer.hussain\\Desktop\\gw-msg-2.log");
            xmlText.Clear();
            isXml = false;       
        }
    }
}

我从日志文件中获取xml数据现在我有一个很多xml标签,我正在读取标签,当我读取一个标签我将其保存到文件但问题是每次我的文件被覆盖我希望我的文件不是覆盖

1 个答案:

答案 0 :(得分:0)

using(var writer = File.CreateText(YOUR_FILE_NAME)))
{
  ....
  foreach (var line in System.IO.File.ReadLines(filename))
  {
    ...
    //replace xdoc.Save(YOUR_FILE_NAME)
    writer.WriteLine(xdoc.ToString());
  }
}
顺便说一下。您获得的文档将不是有效的XML文档。它将是一系列连续的有效XML文档。