实体类:
- public class LogEntity
- {
- private int id;
- public int Id
- {
- get { return id; }
- set { id = value; }
- }
- private string context;
- public string Context
- {
- get { return context; }
- set { context = value; }
- }
- private DateTime logTime;
- public DateTime LogTime
- {
- get { return logTime; }
- set { logTime = value; }
- }
- }
XMLFile1.xml
- <?xml version="1.0" encoding="utf-8" ?>
- <LogTable></LogTable>
XMLFile2.xml
- <?xml version="1.0" encoding="utf-8" ?>
- <NowId>0</NowId>
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Xml;
- using System.IO;
- namespace XXXXMLApp
- {
- public class LogDal
- {
- public static string GetAppPath()
- {//此方法用反射获取当前应用程序路径
- //System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0]; : 获取当前执行的应用程序集
- //System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName; 获取当前执行的应用程序集的完整路径
- string exePath = System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName;
- //exePath = "//Program Files//XXXXMLApp//XXXXMLApp.exe"
- string path = exePath.Replace(System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].Name,"");
- //exePath = "//Program Files//XXXXMLApp//"
- return path;
- }
- public List<LogEntity> select()
- {
- List<LogEntity> logs = new List<LogEntity>();
- XmlDocument xdom = new XmlDocument();
- xdom.Load(GetAppPath()+"XMLFile1.xml");
- foreach (XmlNode logNode in xdom.DocumentElement.ChildNodes)
- {
- LogEntity log = new LogEntity();
- log.Context = logNode.ChildNodes[1].InnerText;
- log.Id = int.Parse(logNode.ChildNodes[0].InnerText);
- log.LogTime = DateTime.Parse(logNode.ChildNodes[2].InnerText);
- logs.Add(log);
- }
- return logs;
- }
- public LogEntity selectById(LogEntity logentity1)
- {
- List<LogEntity> logs = new List<LogEntity>();
- LogEntity logentity = logentity1;
- XmlDocument xdom = new XmlDocument();
- xdom.Load(GetAppPath() + "XMLFile1.xml");
- foreach (XmlNode logNode in xdom.DocumentElement.ChildNodes)
- {
- if (logNode.ChildNodes[0].InnerText == logentity.Id.ToString())
- {
- logentity.Context = logNode.ChildNodes[1].InnerText;
- logentity.LogTime = DateTime.Parse(logNode.ChildNodes[2].InnerText);
- break;
- }
- }
- return logentity;
- }
- public void update(LogEntity log)
- {
- XmlDocument xdom = new XmlDocument();
- xdom.Load(GetAppPath() + "XMLFile1.xml");
- foreach (XmlNode logNode in xdom.DocumentElement.ChildNodes)
- {
- if (int.Parse(logNode.ChildNodes[0].InnerText) == log.Id)
- {
- logNode.ChildNodes[1].InnerText = log.Context;
- logNode.ChildNodes[2].InnerText = log.LogTime.ToString();
- break;
- }
- }
- xdom.Save(GetAppPath() + "XMLFile1.xml");
- }
- public void insert(LogEntity log)
- {
- List<LogEntity> logs = new List<LogEntity>();
- XmlDocument xdom = new XmlDocument();
- xdom.Load(GetAppPath() + "XMLFile2.xml");
- int NowId = int.Parse(xdom.DocumentElement.InnerText)+1;
- xdom.DocumentElement.InnerText = NowId.ToString();
- xdom.Save(GetAppPath() + "XMLFile2.xml");
- xdom = new XmlDocument();
- xdom.Load(GetAppPath() + "XMLFile1.xml");
- XmlNode NewLogNode = xdom.CreateElement("Log");
- XmlNode IdNode = xdom.CreateElement("Id");
- IdNode.InnerText = NowId.ToString();
- XmlNode ContextNode = xdom.CreateElement("Context");
- ContextNode.InnerText = log.Context;
- XmlNode TimeNode = xdom.CreateElement("LogTime");
- TimeNode.InnerText = log.LogTime.ToString();
- NewLogNode.AppendChild(IdNode);
- NewLogNode.AppendChild(ContextNode);
- NewLogNode.AppendChild(TimeNode);
- xdom.DocumentElement.AppendChild(NewLogNode);
- xdom.Save(GetAppPath() + "XMLFile1.xml");
- log.Id = NowId;
- }
- public void delete(LogEntity log)
- {
- List<LogEntity> logs = new List<LogEntity>();
- XmlDocument xdom = new XmlDocument();
- xdom.Load(GetAppPath() + "XMLFile1.xml");
- foreach (XmlNode logNode in xdom.DocumentElement.ChildNodes)
- {
- if (logNode.ChildNodes[0].InnerText == log.Id.ToString())
- {
- xdom.DocumentElement.RemoveChild(logNode);
- break;
- }
- }
- xdom.Save(GetAppPath() + "XMLFile1.xml");
- }
- }
- }
写入后的XML:
- <?xml version="1.0" encoding="utf-8" ?>
- <LogTable>
- <Log>
- <Id>1</Id>
- <Context>测试内容1</Context>
- <LogTime>08-10-13 23:04:10</LogTime>
- </Log>
- <Log>
- <Id>2</Id>
- <Context>测试内容2</Context>
- <LogTime>08-10-13 23:05:10</LogTime>
- </Log>
- <Log>
- <Id>3</Id>
- <Context>测试内容3</Context>
- <LogTime>08-10-13 23:06:10</LogTime>
- </Log>
- </LogTable>