Advertisement
Guest User

xml

a guest
Dec 27th, 2016
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.92 KB | None | 0 0
  1. class XMLWriteRead
  2. {
  3. string xml_path;
  4. XmlDocument xml = new XmlDocument();
  5. public XMLWriteRead(string xml_path)
  6. {
  7. this.xml_path = xml_path;
  8. }
  9.  
  10. public void XMLWrite(ConnectionInformation connection_info)
  11. {
  12. xml.Load(xml_path);
  13.  
  14. XmlElement elm = xml.CreateElement("Connection");
  15.  
  16. XmlNode node_sourceserver = xml.CreateNode(XmlNodeType.Element, "SourceServer", null);
  17. node_sourceserver.InnerText = connection_info.source_database.ServerName;
  18.  
  19. XmlNode node_targetserver = xml.CreateNode(XmlNodeType.Element, "TargetServer", null);
  20. node_targetserver.InnerText = connection_info.target_database.ServerName;
  21.  
  22. XmlNode node_sourcecatalog = xml.CreateNode(XmlNodeType.Element, "SourceInitialCatalog", null);
  23. node_sourcecatalog.InnerText = connection_info.source_database.InitialCatalog;
  24.  
  25. XmlNode node_targetcatalog = xml.CreateNode(XmlNodeType.Element, "TargetInitialCatalog", null);
  26. node_targetcatalog.InnerText = connection_info.target_database.InitialCatalog;
  27.  
  28. XmlNode node_sourceusername = xml.CreateNode(XmlNodeType.Element, "SourceUsername", null);
  29. node_sourceusername.InnerText = connection_info.source_database.Username;
  30.  
  31. XmlNode node_targetusername = xml.CreateNode(XmlNodeType.Element, "TargetUsername", null);
  32. node_targetusername.InnerText = connection_info.target_database.Username;
  33.  
  34. XmlNode node_sourcepassword = xml.CreateNode(XmlNodeType.Element, "SourcePassword", null);
  35. node_sourcepassword.InnerText = connection_info.source_database.Password;
  36.  
  37. XmlNode node_targetpassword = xml.CreateNode(XmlNodeType.Element, "TargetPassword", null);
  38. node_targetpassword.InnerText = connection_info.target_database.Password;
  39.  
  40. XmlAttribute att_connection_name = xml.CreateAttribute("Name");
  41. att_connection_name.InnerText = connection_info.ConnectionName;
  42.  
  43. elm.AppendChild(node_sourceserver);
  44. elm.AppendChild(node_targetserver);
  45. elm.AppendChild(node_sourcecatalog);
  46. elm.AppendChild(node_targetcatalog);
  47. elm.AppendChild(node_sourceusername);
  48. elm.AppendChild(node_targetusername);
  49. elm.AppendChild(node_sourcepassword);
  50. elm.AppendChild(node_targetpassword);
  51. elm.Attributes.Append(att_connection_name);
  52.  
  53. xml.DocumentElement.AppendChild(elm);
  54.  
  55. xml.Save(xml_path);
  56. }
  57.  
  58. public void XMLCreate()
  59. {
  60. XmlDocument xml = new XmlDocument();
  61. xml.LoadXml("<Connections></Connections>");
  62. xml.PreserveWhitespace = true;
  63. xml.Save("connection_list.xml");
  64. }
  65.  
  66. public List<ConnectionInformation> XMLRead()
  67. {
  68. XmlDocument doc = new XmlDocument();
  69. List<ConnectionInformation> connections = new List<ConnectionInformation>();
  70. doc.Load(xml_path);
  71.  
  72. XmlNodeList nodelist = doc.SelectNodes("Connections/Connection");
  73. foreach (XmlElement elm in nodelist)
  74. {
  75. ConnectionInformation temp_connection = new ConnectionInformation();
  76.  
  77. temp_connection.ConnectionName = elm.Attributes["Name"].Value;
  78. temp_connection.source_database.ServerName = elm.SelectSingleNode("SourceServer").InnerText;
  79. temp_connection.target_database.ServerName = elm.SelectSingleNode("TargetServer").InnerText;
  80. temp_connection.source_database.InitialCatalog = elm.SelectSingleNode("SourceInitialCatalog").InnerText;
  81. temp_connection.target_database.InitialCatalog = elm.SelectSingleNode("TargetInitialCatalog").InnerText;
  82. temp_connection.source_database.Username = elm.SelectSingleNode("SourceUsername").InnerText;
  83. temp_connection.target_database.Username = elm.SelectSingleNode("TargetUsername").InnerText;
  84. temp_connection.source_database.Password = elm.SelectSingleNode("SourcePassword").InnerText;
  85. temp_connection.target_database.Password = elm.SelectSingleNode("TargetPassword").InnerText;
  86.  
  87. connections.Add(temp_connection);
  88. }
  89. return connections;
  90. }
  91.  
  92. public void XMLUpdate(ConnectionInformation connection)
  93. {
  94. XMLDelete(connection.ConnectionName);
  95. XMLWrite(connection);
  96. }
  97.  
  98. public void XMLDelete(string connection_name)
  99. {
  100. xml.Load(xml_path);
  101. string del_node = string.Format("Connections/Connection[@Name='{0}']", connection_name);
  102. XmlNode delete = xml.SelectSingleNode(del_node);
  103. xml.DocumentElement.RemoveChild(delete);
  104. xml.Save(xml_path);
  105. }
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement