ERLEDIGT
JA
JA
ANTWORTEN
4
4
ZUGRIFFE
260
260
EMPFEHLEN
-
15.04.09 09:12 #1mirkoku Tutorials.de Gastzugang
Hi,
ich habe ein Problem, undzwar erstelle ich als zwischenspeicher eine xml datei, um dort gewisse werte abzulegen wen meine datenbank nicht verfügbar ist.
so hierfür muss ich in meinem xml abfragen ob ein wert null ist und es dan dort reinschreiben. Dazu muss ich sagen xml eher noch ned viel gemacht.
Hier mal mein Xml
jetzt habe ich mal gebaut und mit dem code hier fügt er mir Time 2 immer ein auch wen Time2 != null ist.HTML-Code:<Timesave> <Time> <Time1>14.4.2009 15:13:51</Time1> <Time2></Time2> <Mac>00:00:00:00:00:00</Mac> <Ip>000000</Ip> </Time> </Timesave>
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
XmlDocument doc = new XmlDocument(); doc.Load(path+"/test.xml"); XmlNode xmlnd = doc.DocumentElement.SelectSingleNode(@"Time/Time2"); if (doc.SelectSingleNode(@"Time/Time2") == null) { xmlnd.InnerText = ti.timeToString; } else if (doc.SelectSingleNode(@"Time/Time2") != null) { Console.WriteLine("creat new"); } doc.Save(@path+"/test.xml"); doc.RemoveAll();
Hab ichn Denk Fehler oder von Grund auf falsch ?
Gruß Und thx 4 help
Mirkoku
-
Hi
Zuerst: Halte dich bitte an die Netiquette!
Zum Problem:
Du darfst nicht darauf prüfen, ob die Node null ist. Diese ist vorhanden und ist daher nie null. Frag von der Node den InnerText ab und prüfe, was darin steht.
Zu dem hast du noch einen Dreher drin:
Du prüfst derzeit "wenn ungleich null, dann lege eine neue an".Grüße Nico
----------------------
Xing
----------------------
Zitat von Mark Twain (1835-1910)
Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
-
16.04.09 08:55 #3mirkoku Tutorials.de Gastzugang
so,
ich habe mir jetzt was gebaut was mir den inhalt ausgiebt hier:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
FileStream st = new FileStream(path + "/test.xml", FileMode.Open); XmlReader r = XmlReader.Create(st); while (r.Read()) { if (r.HasValue) { String test = r.Value.ToString(); Console.WriteLine(test); } else { } } st.Close();
Jetzt wird mir alles ausgegeben, wo ein Value drin ist, nur das ist ja für mich nicht relevant ich muss ja wissen ob Time2 null oder not null ist. in die Richtung Teste ich gerade ob ich es irgendwie hinbekomme das er mir was auswirft wen er bei Time2 nichts findet.
-
Der Weg über XPath war schon der Richtige. Jedoch solltest das von oben beachten!
Grüße Nico
----------------------
Xing
----------------------
Zitat von Mark Twain (1835-1910)
Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
-
16.04.09 10:04 #5mirkoku Tutorials.de Gastzugang
hi Nico,
habs jetzt hinbekommen zwar ein wenig drum rum gewurschtel. reicht aber für meine zwecke.
hier meine Lösung.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
FileStream st = new FileStream(path + "/test"+count+".xml", FileMode.Open); XmlReader r = XmlReader.Create(st); while (r.Read()) { if (r.HasValue) { String test = r.Value.ToString(); if (test == "noTime") { xmlnd.InnerText = ti.timeToString; } } } st.Close(); doc.Save(@path + "/test" + count + ".xml"); doc.RemoveAll();
Erklärung:
in Time2 schreibe ich einfach NoTime beim Erstellen rein und frag dan danach ab.
Gruß
Ähnliche Themen
-
Wert per php aus tabelle abfragen wenn wert erreicht soll spalte 2 um eines erhöht
Von bastiekleve im Forum PHPAntworten: 64Letzter Beitrag: 17.12.10, 20:23 -
In SQLite den höchsten Wert abfragen
Von Teilzeitphilosoph im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 09.03.10, 15:39 -
[C++][WinAPI]Checkbox Wert abfragen
Von SlB im Forum C/C++Antworten: 0Letzter Beitrag: 15.11.09, 22:12 -
Bestimmten Wert aus Datenbank abfragen
Von Genesyst im Forum PHPAntworten: 4Letzter Beitrag: 11.09.06, 09:17 -
JTable geänderten wert abfragen
Von xeal im Forum JavaAntworten: 10Letzter Beitrag: 10.02.06, 13:52





Zitieren

Login





