Ho realizzato qualcosa in C#.
I metodi da usare sono molto simili.
Ti allego qualche riga di codice
Fa parte di un programma che calcola le Profondita di Campo di un'ottica ad una certa apertura.
Questo e' il codice per memorizzare le caratteristiche delle ottiche.
codice:
XmlTextWriter xw = new XmlTextWriter(settingfile, System.Text.Encoding.UTF8);
xw.Formatting = Formatting.Indented;
xw.Indentation = 4;
xw.WriteStartDocument();
xw.WriteStartElement("lenses");
foreach( Lens lens in lensCollection)
{
xw.WriteStartElement("lens");
xw.WriteAttributeString("name", lens.Name);
xw.WriteAttributeString("focalmin", lens.MinFocalLenght.ToString());
xw.WriteAttributeString("focalmax", lens.MaxFocalLenght.ToString());
xw.WriteAttributeString("aperturemin", lens.MinAperture.ToString());
xw.WriteAttributeString("aperturemax", lens.MaxAperture.ToString());
xw.WriteEndElement();
}
xw.WriteEndElement();
xw.WriteEndDocument();
xw.Close();
Questo e' invece il load.
codice:
lensCollection = new LensCollections();
if (!File.Exists(settingfile)) return;
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(settingfile);
XmlNodeList lensList = xmlDoc.GetElementsByTagName("lens");
foreach( XmlNode node in lensList)
{
string name = node.Attributes.GetNamedItem("name").Value.ToString();
int minF = int.Parse(node.Attributes.GetNamedItem("focalmin").Value.ToString());
int maxF = int.Parse(node.Attributes.GetNamedItem("focalmax").Value.ToString());
int minA = int.Parse(node.Attributes.GetNamedItem("aperturemin").Value.ToString());
int maxA = int.Parse(node.Attributes.GetNamedItem("aperturemax").Value.ToString());
lensCollection.Add(name, minF, maxF, minA, maxA);
cbbLens.Items.Add(name);
}
Spero ti sia utile