Hi
und schon wieder ein problem...
und zwar folgendes:
In meiner Anwendung lade ich aus einer XML einen Pfad fuer ein zweites XML, aus dem ich meine ganzen Konfigurationen lade.
Wenn dieses zweite xml nicht existiert, wird nachgefragt wo es zur zeit liegt, dann wird die erste XML abgeaendert und es faengt von vorne an...
Jetzt hab ich aber folgendes Problem:
da ich in meinem code die Load("..."); methode verwendet habe, aendert er er zwar den Pfad in der ersten XML, aber im Programm hat er immer noch den Alten Pfad, da anscheinend ein wiederholtes Laden mit Load("...") nicht zu einem neuen laden fuehr!!
Kann ich den Speicher irgendwie zerstoeren**** damit er mir die abgeaenderte XML laedt****
Hier wird die erste XML geladen und bei erfolg in einer Liste abgelegt
Hier erstell ich mein erstes XML neu
mfg
Blue_Fox
und schon wieder ein problem...
und zwar folgendes:
In meiner Anwendung lade ich aus einer XML einen Pfad fuer ein zweites XML, aus dem ich meine ganzen Konfigurationen lade.
Wenn dieses zweite xml nicht existiert, wird nachgefragt wo es zur zeit liegt, dann wird die erste XML abgeaendert und es faengt von vorne an...
Jetzt hab ich aber folgendes Problem:
da ich in meinem code die Load("..."); methode verwendet habe, aendert er er zwar den Pfad in der ersten XML, aber im Programm hat er immer noch den Alten Pfad, da anscheinend ein wiederholtes Laden mit Load("...") nicht zu einem neuen laden fuehr!!
Kann ich den Speicher irgendwie zerstoeren**** damit er mir die abgeaenderte XML laedt****
Hier wird die erste XML geladen und bei erfolg in einer Liste abgelegt
Code:
public bool GetfromRegXML(List<ControllerRegistry> ContrReg){
XmlDocument Registry = new XmlDocument();
try{
Registry.Load("Registry.xml");
// Choose the right node
XmlNodeList RegNodes = Registry.SelectNodes("/Registry/Controller");
// Create first Listobject
ControllerRegistry R = new ControllerRegistry();
bool Return = false;
foreach(XmlNode RegNode in RegNodes){
string RoomName = RegNode.Attributes["RoomName"].InnerXml;
string ControllerName = RegNode.Attributes["ControllerName"].InnerXml;
string ConfigPath = RegNode.Attributes["ConfigPath"].InnerXml;
string ControllerIP = RegNode.Attributes["ControllerIP"].InnerXml;
if(RoomName ==" " || ControllerName ==" " || ConfigPath ==" " || RoomName =="" || ControllerName =="" || ConfigPath ==""){
Registry = null;
Return = false;
}
else{
// Set all Registryinformation
R.SetRoomName(RoomName);
R.SetConfigPath(ConfigPath);
R.SetControllerIP(ControllerIP);
R.SetControllerName(ControllerName);
ContrReg.Add(R);
Return = true;
}
}
return Return;
}
catch(FileNotFoundException){
Registry = null;
return false;
}
}
Code:
public void CreateNewRegXML(string ControllerName, string ControllerIP, string RoomName, string ConfigPath){
// Create a new XML-File
XmlTextWriter CreateXML = new XmlTextWriter("Registry.xml",null);
CreateXML.WriteStartDocument();
CreateXML.WriteStartElement("Registry");
CreateXML.WriteStartElement("Controller");
CreateXML.WriteAttributeString("ControllerName", "", ControllerName);
CreateXML.WriteAttributeString("ControllerIP", "", ControllerIP);
CreateXML.WriteAttributeString("RoomName", "", RoomName);
CreateXML.WriteAttributeString("ConfigPath", "", ConfigPath);
CreateXML.WriteEndElement();
CreateXML.WriteEndDocument();
CreateXML.Close();
}
Blue_Fox