Hello,
Im trying to update(measurement values from serial port) data from array to .xml file. The .xml file consists of sensor nodes which have child nodes: value, description and id. Only value nodes needs to be updated.
The code I have "achieved" so far only works if there is only one <sensorX> node, and I can't figure how could I get it to update each <value> node in the file. I believe this shouldn't be too difficult, maybe I'm just missing something...
The code... looks like this at the moment, please comment...
private void xmlWrite() { System.Xml.XmlDocument xmldoc = new System.Xml.XmlDocument(); int id = 0; xmldoc.Load("C:\\data2.xml"); System.Xml.XmlNode nood = xmldoc.SelectSingleNode("sensor"); foreach (System.Xml.XmlNode node in nood) { if (node.Name == "value") { node.InnerXml = arData[id]; id++; } } xmldoc.Save("E:\\test3.xml"); }
I tried to add foreach-loop before the "System.Xml.XmlNode" and +id after "sensor", but it only gave always some "null reference error"...
The .xml file looks like this(form of the content can also be changed if eases the saving procedure):
<sensor0> <id>T10</id> <description>Temperature0</description> <value>0</value></sensor0><sensor1> <id>T11</id> <description>Temperature1</description> <value>0</value></sensor1><sensor2> <id>T12</id> <description>Temperature2</description> <value1>23</value1></sensor2><sensor3> <id>T13</id> <description>Temperature3</description> <value>0</value></sensor3>