vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
XML funktioniert wird aber nicht von Access akzeptiert 
Autor: Tommi467
Datum: 24.01.17 14:27

Hallo zusammen,

Vorgabe ist es, Daten via XML-Datei zu übertragen.
Auf der Empfängerseite sollen diese Datensätze dann
sowohl in eine Excel, als auch in eine Access-Datei
importiert werden.

Nun habe ich aus der MS-Hilfe einen XML-Writer, der
'eigentlich' auch seinen Job macht. (siehe Source unten)

Die hiermit generierte XML kann ich ohne Probleme in
Excel einlesen. Aber nicht in Access. Was mache ich
falsch?

Für entsprechende Hilfe wäre ich sehr dankbar !!!



Aus dem XML-Writer kommt:

<?xml version="1.0" encoding="UTF-16"?>
<Personen>
   <Person Vorname="Hans" Name="Meyer" Titel="Dr."/>
   <Person Vorname="Carlos" Name="Schmidt" Titel=""/>
</Personen>
in Access kann ich es nur so importieren:

<?xml version="1.0" encoding="UTF-16"?>
<Person>
   <Vorname>Hans</Vorname>
   <Name>Meyer</Name>
   <Titel>Dr.</Titel>
   <Vorname>"Carlos" Name="Schmidt" Titel=""/>
</Person>
 
<Person>
   <Vorname>Carlos</Vorname>
   <Name>Schmidt</Name>
   <Titel></Titel>
</Person>
Das ist der Source:

    Private Sub XMLWriter()
 
        ' Auswahl einer Kodierungsart für die Zeichenablage 
        Dim enc As New System.Text.UnicodeEncoding
 
        ' XmlTextWriter-Objekt für unsere Ausgabedatei erzeugen: 
        Dim XMLobj As Xml.XmlTextWriter _
          = New Xml.XmlTextWriter("c:\temp\quickie.xml", enc)
 
        With XMLobj
 
            ' Formatierung: 4er-Einzüge verwenden 
            .Formatting = Xml.Formatting.Indented
            .Indentation = 4
 
            ' Dann fangen wir mal an: 
            .WriteStartDocument()
 
            ' Beginn eines Elements "Personen". Darin werden wir mehrere 
            ' Elemente "Person" unterbringen. 
            .WriteStartElement("Personen")
 
            ' Hier kommt das erste Element "Person". Eine Person hat 
            ' in unserem einfachen Beispiel einen Titel, einen Nach- 
            ' namen und einen Vornamen. Als Demo soll uns das genügen. 
            .WriteStartElement("Person") ' <Person 
            .WriteAttributeString("Titel", "Dr.")
            .WriteAttributeString("Name", "Meyer")
            .WriteAttributeString("Vorname", "Hans")
            .WriteEndElement() ' Person /> 
 
            ' Hier kommt (noch immer im Element "Personen" das zweite 
            ' Element "Person". 
            .WriteStartElement("Person") ' <Person 
            .WriteAttributeString("Titel", "")
            .WriteAttributeString("Name", "Schmidt")
            .WriteAttributeString("Vorname", "Carlos")
            .WriteEndElement() ' Person /> 
 
            ' Nachdem das Element "Personen" zwei Elemente "Person" 
            ' erhalten hat, beenden wir die Ausgabe für "Personen"... 
            .WriteEndElement() ' </Personen> 
 
            ' ... und schließen das XML-Dokument (und die Datei) 
            .Close() ' Document 
 
        End With
 
    End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: XML funktioniert wird aber nicht von Access akzeptiert 
Autor: effeff
Datum: 24.01.17 15:53

Die zweite Version ist richtig in Bezug auf Datenbanken. Du hast gelernt, dass XML nicht XML ist, sondern es darauf ankommt, was damit beschrieben wird.

Wenn Du XML zum Import in Access erstellen möchtest, kannst Du das über eine DataTable aber einfacher haben:

        Dim dt As New DataTable
 
        With dt
            .TableName = "Adressen"
            .Columns.Add("Nachname")
            .Columns.Add("Vorname")
            .Columns.Add("Titel")
            .Rows.Add("Meyer", "Hans", "Dr.")
            .Rows.Add("Schmidt", "Carlos", "")
            .Rows.Add("Niemand", "Noone", "Prof. Dr.")
            .Rows.Add("Niegesehn", "Niklaas", "Dr. Dipl.-Ing.")
        End With
 
        dt.WriteXml("d:\Adressen.xml")
Hierbei wird eine DataTable erstellt. Es werden drei Spalten (Columns) erstellt und danach werden vier Zeilen eingefügt. Zum Schluss wird die XML-Datei erstellt. Und die sieht dann genauso aus wie Du sie für Access benötigst.

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: XML funktioniert wird aber nicht von Access akzeptiert 
Autor: Tommi467
Datum: 24.01.17 15:56

SUPER !!! Vielen Dank, das bekomm ich hin.
Werde ich morgen mal testen.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: XML funktioniert wird aber nicht von Access akzeptiert 
Autor: Tommi467
Datum: 25.01.17 15:14

Hallo Effeff,

hat sofort funktioniert. Super. Ist so auch viel einfacher,
zumal die Daten auch aus einem GridView kommen.


Eine Frage habe ich aber noch:

Kannst du oder jemand anders erklären, was es mit den beiden
XML-Versionen auf sich hat. Wie werden sie genannt, damit ich
sie zukünftig auseinander halten kann.

Lösung wäre toll.

Gruß Tommi
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: XML funktioniert wird aber nicht von Access akzeptiert 
Autor: effeff
Datum: 26.01.17 10:10

Das ist ganz einfach, wie die beiden Versionen heißen:

Das erste ist "schlecht angewandtes XML" und das zweite ist "richtig angewandtes XML"...

Du hast bei der von Dir mit dem Writer erstellten Version einfach nicht richtig gearbeitet...

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: XML funktioniert wird aber nicht von Access akzeptiert 
Autor: Tommi467
Datum: 26.01.17 10:37

Tja, das Problem ist nur, das ich diesen Source direkt von der MS - Seite habe
auf der ich nach Hilfe gesucht habe. Ich war davon ausgegangen das das richtig
ist was da steht...

Mich würde jetzt interessieren, wo eine solche XML-Variante eingesetzt wird.
Denn wenn sie soooo falsch wäre, wäre sie sicher nicht dort publiziert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: XML funktioniert wird aber nicht von Access akzeptiert 
Autor: Kuno60
Datum: 28.01.17 22:35

Tommi467 schrieb:
Zitat:

Tja, das Problem ist nur, das ich diesen Source direkt von
der MS - Seite habe
auf der ich nach Hilfe gesucht habe. Ich war davon
ausgegangen das das richtig
ist was da steht...

Mich würde jetzt interessieren, wo eine solche XML-Variante
eingesetzt wird.
Denn wenn sie soooo falsch wäre, wäre sie sicher nicht dort
publiziert.

Falsch ist diese Variante nicht und man braucht diese auch öfters.
Dein Fehler war:
Du hast die Werte nicht direkt, sondern als Attribute geschrieben.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel