C# - Schemainformationen für das Element konnten nicht gefunden werden?

 - (Computer, Technik, Technologie)  - (Computer, Technik, Technologie)  - (Computer, Technik, Technologie)  - (Computer, Technik, Technologie)  - (Computer, Technik, Technologie)  - (Computer, Technik, Technologie)  - (Computer, Technik, Technologie)  - (Computer, Technik, Technologie)

2 Antworten

Spontan hab ich keine Idee, zumindest nicht aus dem Kopf, ich müsste selber probieren, um die Lösung zu finden.

Wenn ich jetzt den eigentlich Fehler lösen müsste, würde ich als erstes ausprobieren, was passiert, wenn ich bei der Angabe für die Schema-Datei den Namespace weg lasse.

Aber warum willst Du überhaupt mit XSD validieren?

Deserialisiere doch die Datei und prüfe danach das Ergebnis. Der XmlSerializer tut das zumindest teilweise schon für dich, er prüft, ob er den Properties, für die er einen Wert, Diesen auch zuweisen kann.

Du musst also prüfen, ob die Properties einen Wert haben und ob er funktioniert. Auf diese Weise hast Du auch weit mehr Möglichkeiten als mit XSD.

Danke für deine Antwort. :)

0

Was mir zuerst einmal auffällt: Du benutzt den using-Block falsch. Erst erstellst du das Objekt außerhalb und dann noch nach dem Block für die Schleife. Der using-Block ist aber dazu da, ein Objekt nur in dessen Kontext zu halten. Mit Ende des Blocks wird das Element eigentlich explizit zerstört (es ruft seine Methode Dispose auf).

Also entweder du lässt den Block weg oder du schreibst es so:

using (var xmlFileReader = XmlReader.Create(fileName, xmlReaderSettings)
{
  // ...

  while (xmlFileReader.Read())
  {
  }
}

Bei dem xmlReaderSettingsValidationEventHandler kannst du mit einem logischen OR übrigens einige Zeilen Code sparen und die Methodennamen solltest du stets mit einem Großbuchstaben beginnen, um stringent zu bleiben.

Zu deinem Problem:

Wieso nutzt du denn die URL zu W3Schools als Target-Namespace bzw. was wäre denn, wenn du stattdessen das Argument null übergeben würdest? Vergleiche außerdem nochmal mit dem Beispiel aus der Dokumentation: https://msdn.microsoft.com/en-us/library/as3tta56(v=vs.100).aspx

Danke für deine Antwort. :)

0

Oracle-PLSQL: Daten aus XML-Datei in die Datenbank einlesen - wie?

Hallo, ich habe ein Programm welches eine XML-Datei exportiert. Ich benötige diese XML, da sie zur "Weiterverarbeitung" zu einer Fremdfirma geschickt wird, die den Inhalt der Tags verändert ( die Tags selbst bleiben bestehen, also "ich weiß, was mich erwartet, wenn die XML eingelesen werden soll" ). Nunja. Den Export habe ich über DBMS-XMLGEN.getXML gelöst, das "Ergebnis" speichere ich einem CLOB und schreibe das File anschließend auf den Server. Um das Ding danach auf den Client zu holen habe ich in meiner Forms Anwendung eine Schleife, die über UTF-FILE jede Zeile einzeln von der Datei auf dem Server liest und diese Zeile dann über TEXT-IO auf dem Client in eine Datei schreibt. Jetzt ist wie gesagt das Problem, das Einlesen zu bewerkstelligen. Im moment ist es so, dass ich das File zwar einlesen kann, dann hab ich es wieder in einem CLOB, aber hilft mir ja nicht sonderlich viel, ich brauche ja den Inhalt der Tags um diesen Inhalt dann in den Feldern meiner Datenbank zu speichern.. Ich bin ziemlich am Verzweifeln. Also ich denke ganz ehrlich, den Stand wie er jetzt ist (also dass die XML-Datei auf dem Server gespeichert ist ) ist ok so, ich habe halt nur wirklich garkeine Idee wie ich den Inhalt der Tags rausbekommen kann. Ich habe schon viel gegooglet, aber leider noch nichts wirklich brauchbares gefunden, vielleicht kann mir ja hier jemand wenigstens ein Schlagwort für einen Lösungsansatz nennen?!

Ich habe eine Oracle 11g R1 Datenbank im Hintergrund, OS vom Server weiß ich leider nicht, nur dass es eine Linux-Kiste ist.

...zur Frage

Was möchtest Du wissen?