ERLEDIGT
JA
JA
ANTWORTEN
4
4
ZUGRIFFE
1341
1341
EMPFEHLEN
-
Hallo Community,
ich habe ein Problem!
Ich möchte aus einer XML Datei mehrere Werte in in eine Drop&Down Liste lesen. Das funktioniert auch wunderbar.
Jetzt ist mir nur aufgefallen, wenn ich über den OpenFileDialog eine Grafik lade um den Hintergrund in einem Panel meiner Anwendung zu ändern und dann nochmal die XML Daten lade, bleibt das Programm hängen. Visual Studio zeigt mir dann, dass die XML-Datei nicht im Ordner vorliegt, welcher der Ordner der geladenen Grafik ist.
Hier ein Auszug des Codes für die XML Daten:
Ich denke mal, dass der Fehler daran liegt, dass der System.IO.StreamReader noch den Dateipfad vom OpenFileDialog mit drin hat. Kann man das irgendwie ändern?Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
private void mannschaft_SelectedIndexChanged(object sender, EventArgs e) { mannschaft.Items.Clear(); System.IO.StreamReader sr = new System.IO.StreamReader(@"XML/Mannschaften.xml"); System.Xml.XmlTextReader xr = new System.Xml.XmlTextReader(sr); System.Xml.XmlDocument mannschaftenxml = new System.Xml.XmlDocument(); mannschaftenxml.Load(xr); System.Xml.XmlNodeList mannschaftnameItems = mannschaftenxml.SelectNodes("Mannschaften/Mannschaft"); for (int i = 0; i < mannschaftnameItems.Count; i++) { System.Xml.XmlNode Name = mannschaftnameItems.Item(i).SelectSingleNode("Name"); mannschaft.Items.Add(Name.InnerText); } }
Gruß
Fast Fred
-
Ich denke, du solltest dem StreamReader-Konstruktor besser einen kompletten absoluten Pfad übergeben. Damit gehst du solchen Problemen aus dem Weg.
Gruß
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
Hi MCoder!
Erstmal vielen Dank für deine Antwort.
Mit dem Gedanken habe ich auch schon gespielt...
Gibt es denn eine Möglichkeit(vllt. durch einen Befehl), den Ordner bzw.Pfad zu ermitteln, wo die Anwendung liegt, die man ausführt?
Gruß
Fast Fred
-
Den Pfad der Applikation bekommt man über die Assembly-Eigenschaften:
Code cpp:1 2 3 4 5 6
using System.Reflection; using System.IO; Assembly assembly = Assembly.GetEntryAssembly(); FileInfo fileinfo = new FileInfo(assembly.Location); string strAppDir = fileinfo.DirectoryName;
Gruß
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
Ja, es klappt
!
Vielen Dank nochmal!
Gruß
Fast Fred
Ähnliche Themen
-
System Null Reference Exception ohne Visual Studio
Von Marcolotti im Forum .NET CaféAntworten: 5Letzter Beitrag: 08.03.09, 14:30 -
Sporadisches Problem mit StreamReader
Von jokakilla im Forum .NET Web und KommunikationAntworten: 4Letzter Beitrag: 15.07.07, 22:00 -
Visual C#: Problem mit System.IO.StreamReader
Von fastfred im Forum C/C++Antworten: 3Letzter Beitrag: 21.05.06, 18:11 -
TCP Problem: Lauschen an StreamReader ?
Von JJB im Forum .NET ArchivAntworten: 0Letzter Beitrag: 15.06.04, 10:01 -
[Sockets]Streamreader problem
Von Badmaster im Forum PHPAntworten: 9Letzter Beitrag: 13.06.03, 19:54





Zitieren
Login





