ERLEDIGT
JA
JA
ANTWORTEN
12
12
ZUGRIFFE
2323
2323
EMPFEHLEN
-
Hallo FIAE's!
Ich bin gerade dabei ein ErrorLog in mein Prog einzubauen. Nachdem ich es eingelesen habe wollte ich es erweitern.
Mein XML Document lässt sich aber nicht einlesen.
Ich habe schon die Hilfe durchforstet komme aber nicht weiter.
Die Datei lade ich mitHTML-Code:<?xml version="1.0" encoding="utf-8" standalone="yes"?> <Error_Messages> <MessageNr1_Test_ExMessage> <Exception_Message>Test_ExMessage</Exception_Message> <Exception_Details>System.Exception: Test_ExMessage at [...] .cs:line 3385</Exception_Details> </MessageNr1_Test_ExMessage> </Error_Messages>
Es wird immer der Fehler:Code :1
Document.LoadXml( AppPath+sErrorLogFile );
"The data at the root level is invalid. Line 1, position 1."
angezeigt.
Was mache ich falsch? Fehlen angaben in der XML Datei?
MFG cosmoMfG,
Christian
Wer sein Problem definiert, hat es schon halb gelöst!
Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.
The Code Project! - C# Programming | C# / VB.NET Pendants
Regeln + Netiquette
Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
und vor allem nicht auf das, was euch die IHK dazu erzählt!
Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...
-
Das Xml scheint keinen Fehler zu haben. Ich kanns ohne Troubles laden ..
Mein Code hierzu:
Code :1 2 3 4 5
XmlDocument doc = new XmlDocument(); doc.Load(@"MeinPfad\test.xml"); XmlNode sn = doc.SelectSingleNode("Error_Messages/MessageNr1_Test_ExMessage/Exception_Message"); Console.WriteLine(sn.InnerText.ToString());
-
Danke für die schnelle Antwort!
Ich bekomm aber immer noch den gleichen fehler auch wenn ich den XML-Head weglasse.
"The data at the root level is invalid. Line 1, position 1."
Ich habe mir das Exception Objekt mal ganauer angeschauet und das hier noch gefunden:
[ErrorCode "Xml_InvalidRootData"]
Ich verstehe leider immer noch nicht warum das jetzt abschmiert. Hast Du noch eine Idee?
Hab ich irgend eine Namenskonvention nicht eingehalten?
Gruss cosmoMfG,
Christian
Wer sein Problem definiert, hat es schon halb gelöst!
Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.
The Code Project! - C# Programming | C# / VB.NET Pendants
Regeln + Netiquette
Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
und vor allem nicht auf das, was euch die IHK dazu erzählt!
Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...
-
Kann es sein, dass du mehr als _ein_ Root-Element hast? Wenn ja, dann ists klar. Du darfst nämlich nur ein einziges Root-Element verwenden und alle anderen Nodes müssen darunter liegen.
-
Es ist haar genau die gleiche XML Datei wie oben.
Habe es jetzt anders gelöst:
Danach konnte ich mein XML ganz einfach erweitern und es sieht jetzt so aus:Code :1 2 3 4
Reader = new XmlTextReader( AppPath+sErrorLogFile ); Document.Load( Reader ); Reader.Close(); ExceptionElement = Document.DocumentElement;
Im iExplorer wird das XML auch korrekt dargestellt.HTML-Code:<?xml version="1.0" encoding="utf-8" standalone="yes"?> <Error_Messages> <MessageNr1_Test_ExMessage> <Exception_Message>Test_ExMessage</Exception_Message> <Exception_Details>System.Exception: Test_ExMessage [...].cs:line 3385</Exception_Details> </MessageNr1_Test_ExMessage> <MessageNr2_Test_ExMessage> <Exception_Message>Test_ExMessage</Exception_Message> <Exception_Details>System.Exception: Test_ExMessage [...].cs:line 3385</Exception_Details> </MessageNr2_Test_ExMessage> </Error_Messages>
Wenn ich jetzt wieder versuche das XML mitzu öffnen schmiert es wieder ab.Code :1
Document.LoadXml( AppPath+sErrorLogFile );
Warum bin ich der einzige bei dem das nicht so einfach klappt?
Was mach ich nur falsch?MfG,
Christian
Wer sein Problem definiert, hat es schon halb gelöst!
Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.
The Code Project! - C# Programming | C# / VB.NET Pendants
Regeln + Netiquette
Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
und vor allem nicht auf das, was euch die IHK dazu erzählt!
Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...
-
Ganz einfach, weil du dir mal die Methoden genauer anschauen solltest, bzw. die Beschreibung.
Mit LoadXml ladest du reines Xml, also ein schon eingelesenes XmlDocument. Zum Beispiel:
Siehe: http://msdn.microsoft.com/library/de...adxmltopic.aspCode :1
XmlDoc.LoadXml("<items><item>1</item></items>");
Willst Du von einem File lesen musst du Load verwenden.
-
Ohh, Du hast vollkommen recht!
Ich hätteverwenden sollen.Code :1
Document.Load( AppPath+sErrorLogFile );
Hab mich böse vertan.
Ich danke Dir! Und das passiert mir nicht nochmal. Ist schon das zweite mal wenn Du dich noch erinnern kannst( String.Replace ).
Werd in Zukunft den Objektbrowser öfter ausgiebig kunsultieren.
Gruss cosmoMfG,
Christian
Wer sein Problem definiert, hat es schon halb gelöst!
Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.
The Code Project! - C# Programming | C# / VB.NET Pendants
Regeln + Netiquette
Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
und vor allem nicht auf das, was euch die IHK dazu erzählt!
Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...
-
Der Thread ist zwar schon etwas älter, aber ichhätte dazu noch an cosmochaosmaker ne Frage.
Wie schaut dein Codeteil aus, wo du an das eingelesene XmlDocument noch Elemente dranhängst und wieder abspeicherst?
Ich bekomme immer den Fehler:
Eine nicht behandelte Ausnahme des Typs 'System.InvalidOperationException' ist in system.xml.dll aufgetreten.
Zusätzliche Informationen: Das Dokument hat bereits einen DocumentElement-Knoten.
Mein Code schaut folgendermaßen aus:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14
XmlTextReader reader = new XmlTextReader( "InputFileName.xml" ); reader.WhitespaceHandling = WhitespaceHandling.None; XmlDocument document = new XmlDocument(); document.Load( reader ); reader.Close(); XmlNode newNode = document.CreateNode( XmlNodeType.Element, "TestElement", "" ); [COLOR=Red]// Bei nachfolgender Zeile kommt der Fehler document.InsertAfter( newNode, document.DocumentElement );[/COLOR] document.Save( "OutputFileName.xml" );
mfG,
MAN
-
Hi!
Du musst Dir das DocumentElement erstmal holen. Dann kannst Du beliebig viele Nodes anfügen.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
try { Document = new XmlDocument(); if ( File.Exists( Path )){ Document.Load( Path ); ExceptionElement = Document.DocumentElement; } else ExceptionElement = Document.CreateElement( "Error_Messages" ); if ( Document.HasChildNodes ) count += ExceptionElement.ChildNodes.Count; ExLogElement = Document.CreateElement( "Exception" ); ExLogElement.SetAttribute( "Count", DateTime.Now.ToShortDateString() ); ExLogElement.SetAttribute( "ExType", DateTime.Now.ToShortDateString() ); ExLogElement.SetAttribute( "Date", DateTime.Now.ToShortDateString() ); DetailsElement = Document.CreateElement( "Exception" ); DetailsElement.InnerText = ExString; ExLogElement.AppendChild( DetailsElement ); ExceptionElement.AppendChild( ExLogElement ); Document.AppendChild( ExceptionElement ); if ( !File.Exists( Path )){ writer = new XmlTextWriter( Path, System.Text.Encoding.UTF8 ); writer.Formatting = Formatting.Indented; writer.WriteStartDocument(true); Document.Save( writer ); } else Document.Save( Path ); } catch ( Exception ) { Class_ErrorMessages.Show_ErrorLogException( sErrorLogFile ); } finally { if (writer != null){ writer.Close(); } }
MfG cosmoGeändert von Christian Kusmanow (19.06.06 um 10:10 Uhr)
MfG,
Christian
Wer sein Problem definiert, hat es schon halb gelöst!
Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.
The Code Project! - C# Programming | C# / VB.NET Pendants
Regeln + Netiquette
Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
und vor allem nicht auf das, was euch die IHK dazu erzählt!
Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...
-
Ich hatte die Frage vorher falsch formuliert. Da hab ich nicht gesagt, dass ich einem vorhandenen Dokument ein neues übergeordnetes Root-Element geben will.
Das heißt, wie bekomme ich aus folgender Struktur, die Struktur darunter?
Aus dem:
Code :1 2 3
<rootElement> <testElement></testElement> </rootElement>
soll das werden:
Code :1 2 3 4 5
<newRootElement> <rootElement> <testElement></testElement> </rootElement> </newRootElement>
mfG,
MANBLT - Die Bundesliga Tabelle der Saison 2011 / 2012 - http://www.spacehoster.de/blt/ NEU: mit Tippspiel!
EMail: mstangel@gmx.de
-
Was soll daran so schwer sein?
Du erstellst ein neues Element und legst das vorhandene Element darin ab.
Bsp.:
Code :1 2 3
XmlElement NewRootElement = XmlDocument.CreateElement("newRootElement"); NewRootElement.AppentChild( rootElement ); XmlDocument.AppendChild( NewRootElement );
MfG cosmoMfG,
Christian
Wer sein Problem definiert, hat es schon halb gelöst!
Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.
The Code Project! - C# Programming | C# / VB.NET Pendants
Regeln + Netiquette
Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
und vor allem nicht auf das, was euch die IHK dazu erzählt!
Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...
-
Ok, klingt einfach.
Schreib mir mal ein kleinen Code-Teil, wo du aus einer Datei die erste Struktur ausließt und dann in die zweite Struktur bringst.
Wenn du das hinbekommst, dann bin ich auf die Lösung gespannt, wie du es machen würdest!
Ich habe es mitlerweile mit nem Kollegen herausgefunden.
mfG,
MANBLT - Die Bundesliga Tabelle der Saison 2011 / 2012 - http://www.spacehoster.de/blt/ NEU: mit Tippspiel!
EMail: mstangel@gmx.de
-
Hi!
Ich war krank.
Ich denke mal das es nicht anders ausehen würde als wie Du und dein Kollege es herausgefunden habt.
Wenn Du meinen letzten Post mit meinem vorletzten in deinem Kopf zusammen schmeißt, hast Du deine Antwort. Ist wirklich leicht!
MfG cosmoMfG,
Christian
Wer sein Problem definiert, hat es schon halb gelöst!
Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.
The Code Project! - C# Programming | C# / VB.NET Pendants
Regeln + Netiquette
Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
und vor allem nicht auf das, was euch die IHK dazu erzählt!
Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...
Ähnliche Themen
-
Problem mit DVD-Laufwerk - Lesefehler
Von Nepheus im Forum HardwareAntworten: 1Letzter Beitrag: 20.11.06, 21:21 -
XMLDocument darstellen
Von dila71 im Forum .NET Windows FormsAntworten: 1Letzter Beitrag: 07.12.05, 10:57 -
XMLDocument
Von MD1978 im Forum .NET ArchivAntworten: 2Letzter Beitrag: 29.12.04, 17:24 -
[WinXP] Lesefehler überspringen
Von Mark im Forum Microsoft WindowsAntworten: 1Letzter Beitrag: 14.09.04, 02:25 -
photoshop 7.0 lesefehler
Von en2k im Forum PhotoshopAntworten: 9Letzter Beitrag: 16.12.02, 14:08





Zitieren
Login





