public class Grenarate_XML
{
public static string path = AppDomain.CurrentDomain.BaseDirectory;
XmlDocument xmlDoc;
public string nodeName { get; set; }
public string update_time { get; set; }
public string first_Line { get; set; }
public string last_Line { get; set; }
public string record { get; set; }
public Grenarate_XML()
{
nodeName = string.Empty;
update_time = string.Empty;
first_Line = string.Empty;
last_Line = string.Empty;
record = string.Empty;
}
public void InsertNode(string strNodeName, Grenarate_XML node)
{
xmlDoc = new XmlDocument();
xmlDoc.Load(path + "\\Configure_log.xml"); // load XML file
//从指定的字符加载 xml 文件
//xmlDoc.LoadXml("");
XmlNode root = xmlDoc.SelectSingleNode("transfer/Log"); //查找<log>
XmlElement xel = xmlDoc.CreateElement(strNodeName);
XmlElement xesub1 = xmlDoc.CreateElement("Update_time");
xesub1.InnerText = System.DateTime.Now.ToString(); //设置节点的文本值
xel.AppendChild(xesub1); //添加到 strNodeName 节点中
XmlElement xesub2 = xmlDoc.CreateElement("First_Line");
xesub2.InnerText = node.first_Line; //设置节点的文本值
xel.AppendChild(xesub2); //添加到 strNodeName 节点中
XmlElement xesub3 = xmlDoc.CreateElement("Last_Line");
xesub3.InnerText = node.last_Line; //设置节点的文本值
xel.AppendChild(xesub3); //添加到 strNodeName 节点中
XmlElement xesub4 = xmlDoc.CreateElement("Record");
xesub4.InnerText = node.record; //设置节点的文本值
xel.AppendChild(xesub4); //添加到 strNodeName 节点中
root.AppendChild(xel);
xmlDoc.Save(path + "\\Configure_log.xml");
}
/// <summary>
///
/// </summary>
/// <param name="strFileName"></param>
/// <returns></returns>
public bool QueryNode(string strFileName)
{
bool flag=false;
xmlDoc = new XmlDocument();
xmlDoc.Load(path + "\\Configure_log.xml"); // load XML file
XmlNode xn = xmlDoc.SelectSingleNode("transfer/Log/" + strFileName);
if (xn != null)
{
flag = true;
}
return flag;
}
/// <summary>
/// get file node information
/// </summary>
/// <param name="strFileName"></param>
/// <returns></returns>
public Grenarate_XML GetNode_Information(string strFileName)
{
xmlDoc = new XmlDocument();
xmlDoc.Load(path + "\\Configure_log.xml"); // load XML file
XmlNode xn = xmlDoc.SelectSingleNode("transfer/Log/" + strFileName);
XmlNodeList xnl = xn.ChildNodes;
foreach (XmlNode xnf in xnl)
{
XmlElement xe = (XmlElement)xnf;
this.nodeName = strFileName;
switch (xe.Name)
{
case "Update_time":
this.update_time = xe.InnerText;
break;
case "First_Line":
this.first_Line = xe.InnerText;
break;
case "Last_Line":
this.last_Line = xe.InnerText;
break;
case "Record":
this.record = xe.InnerText;
break;
}
}
return this;
}
/// <summary>
/// update node information
/// </summary>
public void UpdateNode(string strNodeName,Grenarate_XML node)
{
xmlDoc = new XmlDocument();
xmlDoc.Load(path + "\\Configure_log.xml"); // load XML file
// 获取 <log> 节点的所有子节点
XmlNodeList nodeList = xmlDoc.SelectSingleNode("transfer/Log/" + strNodeName).ChildNodes;
foreach(XmlNode xn in nodeList)
{
XmlElement xe = (XmlElement)xn; //将子节点类型转换为 XmlElement 类型
//xe.GetAttribute("");
//xe.SetAttributeNode("","")
switch(xe.Name)
{
case "Update_time":
xe.InnerText =System.DateTime.Now.ToString(); //则修改
break;
case "First_Line":
xe.InnerText = node.first_Line;
break;
case "Last_Line":
xe.InnerText = node.last_Line;
break;
case "Record":
xe.InnerText = node.record;
break;
}
}
xmlDoc.Save( path + "\\Configure_log.xml");
}
public string ShowXml(string strFileName)
{
string str="";
xmlDoc = new XmlDocument();
xmlDoc.Load("D:\\ImportTestData\\ImportData\\ImportData\\Configure_log.xml");
XmlNode xn = xmlDoc.SelectSingleNode(strFileName);
XmlNodeList xnl = xn.ChildNodes;
foreach (XmlNode xnf in xnl)
{
XmlElement xe = (XmlElement)xnf;
if (str == "")
{
str = xe.InnerText;
}
else
{
str = str + ";" + xe.InnerText;
}
}
return str;
}
public string readXML()
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load( path + "\\Configure_log.xml"); //xmlPath为xml文件路径
XmlNode xmlNode1 = xmlDoc.SelectSingleNode("/transfer/database/tables/PMA_CSV_INFO/fields");
string str = xmlNode1.InnerText;
return str;
}
}