MSXML

30/10/2008 - 17:24 von Benedikt Taube | Report spam
Hallo Leute,

ich habe folgendes Problem. Ich muss aus einer Access-DB Daten ziehen und in
ein XML-File ablegen.
Des weiteren muss das XML-File eine vorgegebene Struktur besitzen (eine
*.xsd habe ich).

Wie kann ich jetzt am einfachsten/schnellsten/professionellsten das XML-File
erstellen?
Ich möchte nicht mit CreateElement, setAttribute ... usw. arbeiten, da das
XML-Schema alles schon vorgibt.

Momentan habe ich folgende Überlegung:
Das *.xsd in MSXML laden.
Frage: Hat das MSXML dann schon die komplette Struktur und ich muss dann nur
noch die Werte aus der DB übergeben oder ist das zu naiv gedacht?

Mit folgendem Code gehe ich davon aus, das die Struktur/Elemente aus dem
*xsd übernommen werden. Ist das richtig?
Dim xs As MSXML2.XMLSchemaCache60
Set xs = New MSXML2.XMLSchemaCache60
xs.Add "urn:test", "W:\Test\Test.xsd"

Dim xmldom As MSXML2.DOMDocument60
Set xmldom = New MSXML2.DOMDocument60
Set xmldom.schemas = xs

Wie kann ich jetzt aber die Werte in das MSXML (xmldom) schreiben und zum
Schluß ein XML-File erstellen?
Oder gibt es sogar eine bessere Lösung?

Viele Grüße und danke im voraus,
Benedikt
 

Lesen sie die antworten

#1 Peter Fleischer
02/11/2008 - 17:42 | Warnen spam
"Benedikt Taube" schrieb im Newsbeitrag
news:%

ich habe folgendes Problem. Ich muss aus einer Access-DB Daten ziehen und
in ein XML-File ablegen.
Des weiteren muss das XML-File eine vorgegebene Struktur besitzen (eine
*.xsd habe ich).

Wie kann ich jetzt am einfachsten/schnellsten/professionellsten das
XML-File erstellen?
Ich möchte nicht mit CreateElement, setAttribute ... usw. arbeiten, da das
XML-Schema alles schon vorgibt.

Momentan habe ich folgende Überlegung:
Das *.xsd in MSXML laden.
Frage: Hat das MSXML dann schon die komplette Struktur und ich muss dann
nur noch die Werte aus der DB übergeben oder ist das zu naiv gedacht?



Hi Benedikt,
falls du dich zur aktuellen VB-Version (VB9) entschleißen könntest, wàre das
problemlos mit sehr wenig Aufwand möglich. Du erzeugst aus der xsd ein
typisiertes DataSet, füllst das über einem zusàtzlich angelegten
TableAdateper und schreibst das DataSet mit WriteXML als XML-Datei auf die
Festplatte oder in einen anderen Ausgabestrom.


Mit folgendem Code gehe ich davon aus, das die Struktur/Elemente aus dem
*xsd übernommen werden. Ist das richtig?
Dim xs As MSXML2.XMLSchemaCache60
Set xs = New MSXML2.XMLSchemaCache60
xs.Add "urn:test", "W:\Test\Test.xsd"

Dim xmldom As MSXML2.DOMDocument60
Set xmldom = New MSXML2.DOMDocument60
Set xmldom.schemas = xs

Wie kann ich jetzt aber die Werte in das MSXML (xmldom) schreiben und zum
Schluß ein XML-File erstellen?
Oder gibt es sogar eine bessere Lösung?



Du solltest einen Umstieg von VB6 auf VB9 in Erwàgung ziehen.

Viele Grüsse
Peter

Ähnliche fragen