none
Aus der MSDN-Hotline: Fehlermeldung bei DataTable.ReadXml RRS feed

  • Allgemeine Diskussion

  • Hallo zusammen,

    heute wurde uns bei der MSDN Hotline unter anderem folgende Frage gestellt:
    es wurde mittels WriteXml eine DataTable exportiert, allerdings bei dem Versuch ein XML-Schema und XML-Daten in das DataTable mit Hilfe DataTable.ReadXml-Methode zu lesen, tritt folgender Fehler auf:  
    DataTable unterstützt keine Schemadeduktion von Xml
    Woran könnte es liegen und wie kann das behoben werden?

    Unsere Antwort bzw. unser Lösungsvorschlag darauf war:
    an dieser Stelle sollte man beachten, dass die richtige WriteXml-Methode verwendet wird. Mit der WriteXml-Methode können Sie entweder ausschließlich Daten oder sowohl Daten als auch das Schema aus einer DataTable in ein XML-Dokument schreiben, während mit der WriteXmlSchema-Methode nur das Schema geschrieben wird. Um sowohl Daten als auch das Schema zu schreiben, verwenden Sie eine der Überladungen, die den XmlWriteMode-Parameter enthält, und legen Sie dessen Wert auf WriteSchema fest. Unter [1] findet man Beschreibung der WriteXml-Metnode und Aufgelisteten Überladungen.
    So wird durch Verwendung von XmlWriteMode.WriteSchema-Argument der aufgetretene Fehler behoben:

    dt.WriteXml("Pfad:\\DateiName.xml",  XmlWriteMode.WriteSchema);
    
    Alternativ können die  ReadXml/WriteXml-Methoden der DataSet-Klasse [2] verwendet werden.

    [1] http://msdn.microsoft.com/de-de/library/xbadk5ed.aspx

    [2] http://msdn.microsoft.com/de-de/library/system.data.dataset.aspx

    Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.

    Viele Grüße,
    Anna Koch
    MSDN Hotline für MSDN Online Deutschland

    Disclaimer:
    Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
    Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die MSDN Hotline:http://www.msdn-online.de/Hotline
    MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

    Es gelten für die MSDN Hotline und dieses Posting dieseNutzungsbedingungen, Hinweise zuMarkenzeichen sowie die allgemein gültigenInformationen zur Datensicherheit sowie die gesondertenNutzungsbedingungen für die MSDN Hotline.

    Freitag, 20. Januar 2012 12:21

Alle Antworten

  • Hallo zusammen,

    in dem Zusammenhang gab es vor kurzem hier einen Thread:  

    DataTable.DefaultView.RowFilter wird unbrauchbar (.net Framework 3.5 SP1)

    Kurzgefasst:
    Verwendet man DataTable.WriteXml mit XmlWriteMode.WriteSchema, so wird implizit
    ein temporäres DataSet hinzugefügt, weil sie für WriteSchema Variante ein benötigt -
    denn das XSD Schema ist für DataSets definiert.

    Deswegen sei empfohlen, eine DataTable immer in einer DataSet Instanz zu verwalten,
    wenn eine XML Serialisierung verwendet wird, auch wenn das DataSet selbst nicht benötigt wird.

    Gruß Elmar

     

    Freitag, 20. Januar 2012 13:11
    Beantworter