Recent

Author Topic: Add a node in a XML File  (Read 696 times)

folkeu08

  • Full Member
  • ***
  • Posts: 117
Add a node in a XML File
« on: April 06, 2022, 10:42:10 pm »
Hi all,
I create a configuration file when launching the software in an XML file which looks like this in attached file (config.xml)
On the 4 audio bands, I want to add a node to create presets (Default, funky, rock, jazz) : file configwithaddnode.xml.

I create the config.xml with this code :
Code: Pascal  [Select][+][-]
  1. procedure TMain_Form.InitialiseXML;
  2.  //Varialbles pour la création du fichier config.XML
  3.   var
  4.   Doc: TXMLDocument;                         // variable to document
  5.   RootNode, parentNode, nofilho: TDOMNode;   // variable to nodes
  6.   begin
  7.   try
  8.     // Create a document
  9.     Doc := TXMLDocument.Create;
  10.  
  11.     // Create a root node
  12.     RootNode := Doc.CreateElement('TPC100');
  13.     Doc.Appendchild(RootNode);                           // save root node
  14.  
  15.  
  16.     //********************************************************************************************************
  17.     //********                   Config RS232                                                     ************
  18.     //********************************************************************************************************
  19.      // Create a parent node
  20.     RootNode:= Doc.DocumentElement;
  21.     parentNode := Doc.CreateElement('RS232');
  22.     RootNode.Appendchild(parentNode);
  23.  
  24.      // Create a child node
  25.     parentNode := Doc.CreateElement('Baud');                // create a child node
  26.     //nofilho := Doc.CreateTextNode('S:\Database\cellule_archeologique.db');         // insert a value to node
  27.     nofilho := Doc.CreateTextNode('0');
  28.     parentNode.Appendchild(nofilho);                         // save node
  29.     RootNode.ChildNodes.Item[0].AppendChild(parentNode);       // insert child node in respective parent node
  30.  
  31.      // Create a child node
  32.     parentNode := Doc.CreateElement('Parity');                // create a child node
  33.     //nofilho := Doc.CreateTextNode('S:\Database\cellule_archeologique.db');         // insert a value to node
  34.     nofilho := Doc.CreateTextNode('0');
  35.     parentNode.Appendchild(nofilho);                         // save node
  36.     RootNode.ChildNodes.Item[0].AppendChild(parentNode);       // insert child node in respective parent node
  37.  
  38.      // Create a child node
  39.     parentNode := Doc.CreateElement('Bits');                // create a child node
  40.     //nofilho := Doc.CreateTextNode('S:\Database\cellule_archeologique.db');         // insert a value to node
  41.     nofilho := Doc.CreateTextNode('0');
  42.     parentNode.Appendchild(nofilho);                         // save node
  43.     RootNode.ChildNodes.Item[0].AppendChild(parentNode);       // insert child node in respective parent node
  44.  
  45.      // Create a child node
  46.     parentNode := Doc.CreateElement('Stream');                // create a child node
  47.     //nofilho := Doc.CreateTextNode('S:\Database\cellule_archeologique.db');         // insert a value to node
  48.     nofilho := Doc.CreateTextNode('0');
  49.     parentNode.Appendchild(nofilho);                         // save node
  50.     RootNode.ChildNodes.Item[0].AppendChild(parentNode);       // insert child node in respective parent node
  51.  
  52.     //********************************************************************************************************
  53.     //********                   Config Low Band                                                  ************
  54.     //********************************************************************************************************
  55.     // Create a parent node
  56.     RootNode:= Doc.DocumentElement;
  57.     parentNode := Doc.CreateElement('LowBand');
  58.     RootNode.Appendchild(parentNode);                          // save parent node
  59.  
  60.     // Create a child node
  61.     parentNode := Doc.CreateElement('Dens');                // create a child node
  62.     //nofilho := Doc.CreateTextNode('S:\Database\cellule_archeologique.db');         // insert a value to node
  63.     nofilho := Doc.CreateTextNode('50');
  64.     parentNode.Appendchild(nofilho);                         // save node
  65.     RootNode.ChildNodes.Item[1].AppendChild(parentNode);       // insert child node in respective parent node
  66.  
  67.     parentNode := Doc.CreateElement('Gate');                // create a child node
  68.     nofilho := Doc.CreateTextNode('1');         // insert a value to node
  69.     parentNode.Appendchild(nofilho);                         // save node
  70.     RootNode.ChildNodes.Item[1].AppendChild(parentNode);       // insert child node in respective parent node
  71.  
  72.     parentNode := Doc.CreateElement('AGC');                // create a child node
  73.     nofilho := Doc.CreateTextNode('32');         // insert a value to node
  74.     parentNode.Appendchild(nofilho);                         // save node
  75.     RootNode.ChildNodes.Item[1].AppendChild(parentNode);       // insert child node in respective parent node
  76.  
  77.     parentNode := Doc.CreateElement('QPoint');                // create a child node
  78.     nofilho := Doc.CreateTextNode('80');         // insert a value to node
  79.     parentNode.Appendchild(nofilho);                         // save node
  80.     RootNode.ChildNodes.Item[1].AppendChild(parentNode);       // insert child node in respective parent node
  81.  
  82.     //********************************************************************************************************
  83.     //********                   Config Mid Band                                                  ************
  84.     //********************************************************************************************************
  85.      // Create a parent node
  86.     RootNode:= Doc.DocumentElement;
  87.     parentNode := Doc.CreateElement('MidBand');
  88.     RootNode.Appendchild(parentNode);                          // save parent node
  89.  
  90.     // Create a child node
  91.     parentNode := Doc.CreateElement('Dens');                // create a child node
  92.     nofilho := Doc.CreateTextNode('50');         // insert a value to node
  93.     parentNode.Appendchild(nofilho);                         // save node
  94.     RootNode.ChildNodes.Item[2].AppendChild(parentNode);       // insert child node in respective parent node
  95.  
  96.     parentNode := Doc.CreateElement('Gate');                // create a child node
  97.     nofilho := Doc.CreateTextNode('1');         // insert a value to node
  98.     parentNode.Appendchild(nofilho);                         // save node
  99.     RootNode.ChildNodes.Item[2].AppendChild(parentNode);       // insert child node in respective parent node
  100.  
  101.     parentNode := Doc.CreateElement('AGC');                // create a child node
  102.     nofilho := Doc.CreateTextNode('32');         // insert a value to node
  103.     parentNode.Appendchild(nofilho);                         // save node
  104.     RootNode.ChildNodes.Item[2].AppendChild(parentNode);       // insert child node in respective parent node
  105.  
  106.     parentNode := Doc.CreateElement('QPoint');                // create a child node
  107.     nofilho := Doc.CreateTextNode('80');         // insert a value to node
  108.     parentNode.Appendchild(nofilho);                         // save node
  109.     RootNode.ChildNodes.Item[2].AppendChild(parentNode);       // insert child node in respective parent node
  110.  
  111.     //********************************************************************************************************
  112.     //********                   Config Pres Band                                                  ************
  113.     //********************************************************************************************************
  114.      // Create a parent node
  115.     RootNode:= Doc.DocumentElement;
  116.     parentNode := Doc.CreateElement('PresBand');
  117.     RootNode.Appendchild(parentNode);                          // save parent node
  118.  
  119.     // Create a child node
  120.     parentNode := Doc.CreateElement('Dens');                // create a child node
  121.     nofilho := Doc.CreateTextNode('50');         // insert a value to node
  122.     parentNode.Appendchild(nofilho);                         // save node
  123.     RootNode.ChildNodes.Item[3].AppendChild(parentNode);       // insert child node in respective parent node
  124.  
  125.     parentNode := Doc.CreateElement('Gate');                // create a child node
  126.     nofilho := Doc.CreateTextNode('1');         // insert a value to node
  127.     parentNode.Appendchild(nofilho);                         // save node
  128.     RootNode.ChildNodes.Item[3].AppendChild(parentNode);       // insert child node in respective parent node
  129.  
  130.     parentNode := Doc.CreateElement('AGC');                // create a child node
  131.     nofilho := Doc.CreateTextNode('32');         // insert a value to node
  132.     parentNode.Appendchild(nofilho);                         // save node
  133.     RootNode.ChildNodes.Item[3].AppendChild(parentNode);       // insert child node in respective parent node
  134.  
  135.     parentNode := Doc.CreateElement('QPoint');                // create a child node
  136.     nofilho := Doc.CreateTextNode('80');         // insert a value to node
  137.     parentNode.Appendchild(nofilho);                         // save node
  138.     RootNode.ChildNodes.Item[3].AppendChild(parentNode);       // insert child node in respective parent node
  139.  
  140.     //********************************************************************************************************
  141.     //********                   Config High Band                                                  ************
  142.     //********************************************************************************************************
  143.      // Create a parent node
  144.     RootNode:= Doc.DocumentElement;
  145.     parentNode := Doc.CreateElement('HighBand');
  146.     RootNode.Appendchild(parentNode);                          // save parent node
  147.  
  148.     // Create a child node
  149.     parentNode := Doc.CreateElement('Dens');                // create a child node
  150.     nofilho := Doc.CreateTextNode('50');         // insert a value to node
  151.     parentNode.Appendchild(nofilho);                         // save node
  152.     RootNode.ChildNodes.Item[4].AppendChild(parentNode);       // insert child node in respective parent node
  153.  
  154.     parentNode := Doc.CreateElement('Gate');                // create a child node
  155.     nofilho := Doc.CreateTextNode('1');         // insert a value to node
  156.     parentNode.Appendchild(nofilho);                         // save node
  157.     RootNode.ChildNodes.Item[4].AppendChild(parentNode);       // insert child node in respective parent node
  158.  
  159.     parentNode := Doc.CreateElement('AGC');                // create a child node
  160.     nofilho := Doc.CreateTextNode('32');         // insert a value to node
  161.     parentNode.Appendchild(nofilho);                         // save node
  162.     RootNode.ChildNodes.Item[4].AppendChild(parentNode);       // insert child node in respective parent node
  163.  
  164.     parentNode := Doc.CreateElement('QPoint');                // create a child node
  165.     nofilho := Doc.CreateTextNode('80');         // insert a value to node
  166.     parentNode.Appendchild(nofilho);                         // save node
  167.     RootNode.ChildNodes.Item[4].AppendChild(parentNode);       // insert child node in respective parent node
  168.  
  169.  
  170.     writeXMLFile(Doc, 'config.xml');                     // write to XML
  171.   finally
  172.     Doc.Free;                                          // free memory
  173.   end;
  174. end;
  175.                                              
  176.  
  177.  

How to modifie it to create the preset node (default, funky Jazz, rock) ?
Thanks
« Last Edit: April 10, 2022, 03:24:57 pm by folkeu08 »

 

TinyPortal © 2005-2018