有好久沒有來部落格園了,上一段時間公司說便於管理要把網斷了,所以很長一段時間都沒有來了!不過最後公司出了一些制度後也還是正常上網。其實對於今天來說我們這些搞軟體的(就算是不搞軟體)離開了網路真的不知道會是什麼情況!好了,說說這兩天幹了什麼吧!
情況是這樣的。我呢要在C#端對xml或txt檔案進行操作。用C++對檔案進行讀取,然後我在調用C++的返回結果。為什麼不都用C#呢,主要原因是一些底層的東西需要C++來操作。
C#操作xml主要有這麼幾個對象:XmlDocument、XmlElement、XmlNode。
當然還有別的,這裡我就用到了這三個。其實對xml的操作C#已經封裝的很好了,很多隻是簡單的調用就可以完成。
XmlDocument xmldoc = new XmlDocument();
//加入XML的聲明段落,<?xmlversion="1.0" encoding="gb2312"?>
XmlDeclaration xmldecl;
xmldecl = xmldoc.CreateXmlDeclaration("1.0","gb2312", null);
xmldoc.AppendChild(xmldecl);
//加入一個根項目
XmlElement xmlelem = xmldoc.CreateElement("","INFORMATION", "");
xmldoc.AppendChild(xmlelem);
XmlNode information = xmldoc.SelectSingleNode("INFORMATION");
XmlNode tels = xmldoc.CreateElement("TELS");
XmlNode dels = xmldoc.CreateElement("DELS");
XmlNode replaces = xmldoc.CreateElement("REPLACES");
information.AppendChild(tels);
information.AppendChild(dels);
information.AppendChild(replaces);
//儲存建立好的XML文檔
xmldoc.Save(@"\Program Files\MessageIntercept\Employee.xml");
C#操作txt檔案:C#封裝好的有關txt檔案的建立、刪除、複製等,這些也很方便。但是,C#對txt檔案內容的操作就沒有這麼簡單了,因為除了讀寫txt檔案外,對其內容的一些操作好像沒有提供(或許我沒有發現)。這裡我簡單說一下其中的思想:如果我們想對其內容進行添加、刪除、修改的話直接操作我現在還不清楚,但我可以把txt內容讀取出來放在List裡面進行操作,完了之後我在寫進txt。
// <summary>
/// 讀取txt
/// </summary>
privatevoid ReadText()
{
List<string> lines = newList<string>();
using(StreamReader sw = File.OpenText(FILE_NAME))
{
string s = "";
while ((s = sw.ReadLine()) != null)
{
lines.Add(s);
}
}
}
/// <summary>
/// 寫入txt
/// </summary>
privatevoid WriteTxt()
{
using(StreamWriter writer = newStreamWriter(FILE_NAME))
{
foreach (string var in lines)
{
writer.WriteLine(var);
}
}
}
在這之間我們就可以對lines進行操作,從而達到我們操作txt檔案內容的目的。