Office: (Office 2007) xml mit Dateiheader auslesen

Helfe beim Thema xml mit Dateiheader auslesen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Gemeinde, ich möchte neben dem xml Inhalt auch den Header der Datei auslesen und in einer Tabelle speichern. Habe hier ein Muster der Datei, und... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Watzke41, 31. Mai 2012.

  1. xml mit Dateiheader auslesen


    Hallo Gemeinde,

    ich möchte neben dem xml Inhalt auch den Header der Datei auslesen und in einer Tabelle speichern. Habe hier ein Muster der Datei, und der Importschleife
    Vielleicht habt ihr eine Lösung??
    Speziell geht es um diese Daten: LicenseOwnerName="G. Mustermann" UploadDate="31.05.12"

    Danke erstmal

    hier die Schleife:

    Private Sub Befehl69_Click()

    Dim AktDatNam As String, DatDatum As Date, sSQL As String

    AktDatNam = Dir("P:\Import\" & "*.xml")
    While AktDatNam ""
    Application.ImportXML "P:\Import\" & AktDatNam, acAppendData
    DatDatum = FileDateTime("P:\Import\" & AktDatNam)
    sSQL = "UPDATE Page SET DateiName = '" & AktDatNam & "', "
    sSQL = sSQL & "DateiDatum = '" & DatDatum & "' "
    sSQL = sSQL & "WHERE DateiName Is Null"
    Debug.Print sSQL ' ^G Direktfenster
    CurrentDb.Execute sSQL, 128
    AktDatNam = Dir
    Wend
    End Sub

    hier die xml Struktur: ( sind entfernt)


    ?xml version="1.0" encoding="utf-8" standalone="yes" ?
    - Project LicenseOwnerName="G. Mustermann" UploadDate="31.05.12" UploadTime="23:30:16" ProjectName="Arbeitsnachweis" ProjectId="37734391-96d2-4684-9c8b-91bdfc371413" ExportDate="31.05.2012" ExportTime="23:34:19"
    - Pages
    - Page PageName="21.2443.6.86"
    ArtderArbeit>1Wartung laut Arbeitskarte011006Mitte AsNr>0016634 Ort>XXUD Haus 27 /Page
    /Pages
    /Project"

    :)
     
    Watzke41, 31. Mai 2012
    #1
  2. Du könntest einfache Textverarbeitung verwenden, um diese Informationen herauszulesen: Datei in Stringvariable einlesen, Stringvariable per RegEx analysieren oder per Split in Zeilen zerlegen und dann die gewünschte Zeile parsen. Beispiel:
    Code:
     
    ebs17, 2. Juni 2012
    #2
  3. Hallo Eberhardt,
    danke für deinen Vorschlag. Ich werde nächste Woche daran basteln und mich dann sicher noch mal melden.
    Schönen Sonntag
    Gruß Thomas
     
    Watzke41, 3. Juni 2012
    #3
  4. xml mit Dateiheader auslesen

    Hallo zusammen,

    wenn es nur um die beiden Werte LicenseOwnerName und UploadDate geht, lässt sich das rel. leicht über Das XML-DOM auslesen.
    Bsp:http://ms-office-forum.net/forum/sho...d.php?t=289146

    Wenn du eine echte Datei hier anhängst, kann man schnell was "basteln".

    BTW: wenn du den Dateiinhalt in PHP-Tags packst, kannst du ihn hier auch mit posten (wäre einfacher zu lesen).
     
    Marsu65, 3. Juni 2012
    #4
  5. Hallo Ihr zwei,
    habe ein wenig mit euren Vorschlägen probiert, komme aber zu keinem Ergebnis! Da fehlen bei mir doch die Grundlagen von VBA! Mit RegEX komme ich gar nicht klar! Mit dem Vorschlag von Marsu habe ich den selben Import wie in meiner alten Schleife. Excel passt den Import der Struktur der Datei an und gibt sie vollständig aus, nur access ist etwas komplizierter. Habe eine Originaldatei mal im Zip angehängt. (Ich hoffe es funktioniert) Vielleicht habt ihr für meinen Import noch eine relativ einfache Lösung.

    Danke Im Voraus
    Thomas
     
    Watzke41, 7. Juni 2012
    #5
  6. Hallo Thomas,
    ist tatsächlich immer nur ein Datensatz bezgl.
    LicenseOwner und UploadDate in den Dateien vorhanden?
    Und du brauchst wirklich nur die beiden Felder?
     
    Marsu65, 7. Juni 2012
    #6
  7. Danke für die Nachfrage,
    ich benötige natürlich auch die Felder aus der gesamten Datei, die bringt mir aber jede Importschleife (siehe 1.Meldung, oder auch dein Beispiel) Die Kopfdaten werden aber nicht mit ausgelesen, davon brauche ich aber nur die beiden Informationen)
    gruß
    Thomas
     
    Watzke41, 7. Juni 2012
    #7
  8. xml mit Dateiheader auslesen

    Jepp, gerade gesehen, dass du per ImportXML importierst.
    Da fehlen alle Attribute.

    PageName dürfte somit auch nicht in deinem Import enthalten sein.
    Brauchst du das Feld auch (sowie die anderen Atribute: UploadTime, ProjectName, ...)?
     
    Marsu65, 7. Juni 2012
    #8
  9. Hier eine kleine Sub, mit der du die beiden Werte auslesen kannst:
    Code:
    Aufzurufen z.B. mit
    Code:
    VERWEIS auf MIcrosoft XML, v6.0 (msxml6.dll) muss gesetzt sein!
     
    Marsu65, 7. Juni 2012
    #9
  10. Hallo Marsu
    sorry, also ich brauche den xmlImport, die beiden Felder aus dem Kopf und den Dateinamen alles ander ist Nebensache.

    Danke
     
    Watzke41, 7. Juni 2012
    #10
  11. Dann hast du ja jetzt alles zusammen, oder ist noch was offen?
     
    Marsu65, 7. Juni 2012
    #11
  12. Hallo Marsu,
    danke für deine Bemühungen! Den Code versuche ich zu verstehen. Da ich aber mich erst seit kurzem mit VBA beschäftige, fehlt mir jetzt die Verknüpfung zu meinen Ordnern, Tabellen.
    _LON und UploadDate werde referenziert übergeben_ - dieser Hinweis bringt mich auch nicht weiter, sorry eben Anfänger. Vieleicht kannst du die Zuweisungen etwas genauer Beschreiben.
    Danke schon mal.
    Gruß Thomas
     
    Watzke41, 8. Juni 2012
    #12
  13. xml mit Dateiheader auslesen

    Hallo,

    du kopierst die Sub in dein (Formular-)Modul und könntest deine eigene
    Prozedur z.B. wie folgt erweitern:
    Code:
    Die neuen/veränderten Zeilen sind grün makiert.

    Die Feldnamen [LicenceOwnerName] und [UploadDate] musst du an die von dir verwendeten Feldnamen in der Tabelle Page anpassen.
    Ich bin davon ausgegangen, dass beide Felder vom Datentyp Text sind.
    Sollte z.B. UploadDate vom Typ Datum/Uhrzeit sein, muss das in der SQL-Anweisung noch berücksichtigt werden.

    Denke daran den Verweis zu setzen!
     
    Marsu65, 9. Juni 2012
    #13
  14. Hallo Marsus,
    danke für deine Antworten, langsam wird es eine runde Sache. Aber eben noch mit kleinen Problemen. Ich bekomme jetzt die Fehlermeldung:
    -objektvariable oder with-blockvariable nicht festgelegt-
    der Code bleibt im Modul in der Zeile stehen:
    -LON = xNodelist(0).Attributes(0).Text-
    Wenn du hier noch einen Plan hättest, dann läuft der Code bestimmt durch!

    Danke schon mal für deine Geduld!
    Gruß Thomas
     
    Watzke41, 10. Juni 2012
    #14
  15. Kann es sein, dass die Datei, die in der Prozedur verarbeitet wird, keinen Eintrag (Attribut) LicenceOwnerName hat?

    Das Konstrukt reagiert sehr sensibel auf Unterschiede im Aufbau deiner xml-Dateien.

    Ganz allgemein könnte man solche Fehler durch eine geeignete Fehlerbehandlung abfangen.
    Zuerst sollte jedoch die Analyse stehen, warum es zu dem Fehler kommt.
     
    Marsu65, 10. Juni 2012
    #15
Thema:

xml mit Dateiheader auslesen

Die Seite wird geladen...
  1. xml mit Dateiheader auslesen - Similar Threads - xml Dateiheader auslesen

  2. MS Office 2021

    in Microsoft Outlook Hilfe
    MS Office 2021: Hallo, ich möchte alle .xml Anhänge in einem Ordner automatisch speichern mit einem Skript. Habe aber keine Ahnung wie das geht. Kann mir bitte jamand halfen?
  3. Fehlermeldung XML Erweiterungspacket

    in Microsoft Word Hilfe
    Fehlermeldung XML Erweiterungspacket: Hallo, kennt wer diese Fehlermeldung bei Word (Windows 10 pro/Word 2016)? Es tritt auf, wenn ich auf die Registerkarte Ansicht gehe und geht nicht mehr weg. Word stellt dann im Hintergrund eine...
  4. nach speichern als XML-Kalkulationstabelle zu viele Nachkommastellen

    in Microsoft Excel Hilfe
    nach speichern als XML-Kalkulationstabelle zu viele Nachkommastellen: Hallo Zusammen, Excel speichert eine Kommazahl, in meinem Fall z.B. 40,123 nach "Speichern unter XML-Kalkulationstabelle 2003" als 40.122999999999998 (Datei mit Texteditor öffnen). Jetzt habe ich...
  5. Primärschlüssel/Fremdschlüssel aus 2.Tabelle automatisch einfügen

    in Microsoft Access Hilfe
    Primärschlüssel/Fremdschlüssel aus 2.Tabelle automatisch einfügen: Hallo zusammen, ich stehe gerade vor dem Problem, dass ich die Datensätze zwischen zwei Tabellen nicht verknüpfen kann. Konkret habe ich die beiden Tabellen tblEigenschaft und tblBasis. In der...
  6. Import von XML-Dateien in Access

    in Microsoft Access Hilfe
    Import von XML-Dateien in Access: Hallo zusammen, ich möchte eine Menge von XML-Dateien in Access 2016 importieren und verwende dazu die Importfunktion für XML-Dateien unter Externe Daten im Menü. Die Dateien enthalten einige 100...
  7. Meldung "öffnen sie nur anlagen von absendern denen sie vertrauen "

    in Microsoft Outlook Hilfe
    Meldung "öffnen sie nur anlagen von absendern denen sie vertrauen ": Hallo zusammen, kann mir jemand sagen, wie ich diese eigentlich lästige Abrage, ob ich die Datei öffnen oder speichern möchte wieder AKTIVIEREN kann? [ATTACH] Grund: Ich vermute, sie...
  8. Eigenes Ribbon anpassen -> XML

    in Microsoft PowerPoint Hilfe
    Eigenes Ribbon anpassen -> XML: Hallo zusammen, ich habe ein Ribbon welches ich viel nutze bin aber etwas unzufrieden mit der automatischen Skalierung der Knöpfe. Ich würde es daher gerne fest definieren und habe gelesen,...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden