C#对xml和txt文件内容简单的操作
时间:2010-09-30 来源:SunCedar
有好久没有来博客园了,上一段时间公司说便于管理要把网断了,所以很长一段时间都没有来了!不过最后公司出了一些制度后也还是正常上网。其实对于今天来说我们这些搞软件的(就算是不搞软件)离开了网络真的不知道会是什么情况!好了,说说这两天干了什么吧!
情况是这样的。我呢要在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文件:这里说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文件内容的目的。