Announcement

Collapse
No announcement yet.

DataSet.writeXML entfernt DOCTYPE Eintrag, Hilfe!

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • DataSet.writeXML entfernt DOCTYPE Eintrag, Hilfe!

    Der Befehl DataSet.writeXML löscht quasi die

    'Lesen des DataSets
    mDataSet = New DataSet
    mDataSet.ReadXml(Me.mFileNamePath)

    'XML Datei nach dem Lesen
    -------------------------------------------------------------------------------------
    <?xml version="1.0" encoding="iso-8859-1"?>
    <!DOCTYPE AlarmReport SYSTEM "../scheduleV2r3/dtd/alarm-xml.dtd">
    ....
    </AlarmReport>
    -------------------------------------------------------------------------------------


    Danach werden attribute verändert, etc. Keine Probleme.

    'Nach dem schreiben mittels DataSet.writeXML
    mDataSet.WriteXml(Me.mFileNamePath)

    -------------------------------------------------------------------------------------
    <?xml version="1.0" standalone="yes"?>
    <AlarmReport DtdVersion="1" DtdRelease="1">
    ....
    </AlarmReport>
    -------------------------------------------------------------------------------------



    Aus der XML-Datei sind encoding und viel schlimmer noch
    der DOCTYPE dtd Eintrag zur externen DTD
    <!DOCTYPE AlarmReport SYSTEM "../scheduleV2r3/dtd/alarm-xml.dtd">
    verschwunden
    .

    Hat jemand eine Idee, wie dies mit DataSets verhindert werden kann?
    Eine interne DTD oder Schema kommt nicht in Frage.

    Thanx und Gruss
    Werner

  • #2
    Vielleicht funktioniert folgendes: Ein XmlDataDocument-Objekt auf dem DataSet-Objekt anlegen und dessen OuterXml-Eigenschaft nutzen. Wenn die DocType-Deklaration auch da nicht auftaucht, liegt es an der readXml-Methode. In dem Fall müsste aber der umgekehrte Weg funktionieren: Mit XmlDataDocument laden und über die DataSet-Eigenschaft auf die WriteXml-Methode zugreifen.
    Martin Szugat
    www.aboutxml.de

    Comment

    Working...
    X