2015-05-18 54 views
-2
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標籤和我讀標籤被讀取標籤我保存到文件時,但問題是每一個當我的文件被覆蓋,我想我的文件沒有被覆蓋X文件覆蓋在C#中的現有文件

+1

保存文件..加上日期文件與文件名.so每次文件名將會有所不同.. – Sachu

+0

你想要追加數據到'gw-msg-2.log'?或者你想創建一個新文件? –

+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文檔。

+0

它給我以下錯誤令牌StartDocument在狀態結束文檔將導致無效的XML文檔。 –

+0

看我最後的編輯。 –

+0

那麼我的問題的解決方案是什麼? –