一个TXT文档,我想把他设计成如下格式[USR]
USR1
USR2
[END][TIME]
TIME1
TIME2
TIME3
[END]也就是这个文档需要存储USR和TIME的相关信息,用户可以写入并读取该文档的内容,问题是在写入的时候,不知道写在哪里。比如现在要插入一个TIME4,实现的步骤我想应该是首先打到[TIME]这一大项,再在[END]前插入。说简单点也就是要实现在一个.txt文档里先找到插入位置,再在这个位置插入的功能。
我试过用STREAMWRITER和STREAMREDEAR不行,FILESTREAM好像也不可行。
请问高手如何解决?或者有其他更好的方法,我是想用来存储一些简单信息,不想用到数据库,也不想有多个.txt?

解决方案 »

  1.   

    用Xml,完全符合你的要求, 详细情况查看msdn.
      

  2.   

    .ini文件怎么用
    在MSDN里好像看不到相关的介绍
      

  3.   

    WINFORM里也可以读写XML文件吗?
      

  4.   

    推荐用 xml,.net现在已经对操作xml很方便的了。public bool XmlInsert(string xmlpath, string xmlsinglenode, string xmlfirstnode,
                                  string[] firstnodename, string[] firstnodevalue, string[] arryname, string[] arryvalue)
            {
                try
                {
                    if (FileExist(xmlpath, xmlsinglenode))
                    {
                        XmlDocument xmlDoc = new XmlDocument();
                        xmlDoc.Load(xmlpath);
                        XmlNode xmlNode = xmlDoc.SelectSingleNode(xmlsinglenode);                    int count = xmlNode.ChildNodes.Count;
                        count++;                    XmlElement xmlEle = xmlDoc.CreateElement(xmlfirstnode);//创建一个<User>节点
                        xmlEle.SetAttribute("id", count.ToString());//设置该节点id属性 编码                    for (int i = 0; i < firstnodename.Length; i++)
                        {
                            xmlEle.SetAttribute(firstnodename[i], firstnodevalue[i]);//登录ID
                        }                    for (int i = 0; i < arryname.Length; i++)//arryname.Length
                        {
                            XmlElement xml = xmlDoc.CreateElement(arryname[i]);
                            xml.InnerText = arryvalue[i];
                            xmlEle.AppendChild(xml);
                        }                    xmlNode.AppendChild(xmlEle);
                        xmlDoc.Save(xmlpath);
                    }                return true;
                }
                catch (Exception ex)
                {
                    Log.WriteErrorLog(ex.Message);
                    return false;
                }
            }这个,可以修改成符合你要求
      

  5.   


       
       HashTable m_table = new HashTable();
    set:
       m_table.add(key, value);
    get:
       m_table[key]