Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

XML-Datei parsen?

Forumthread: XML-Datei parsen?

XML-Datei parsen?
03.11.2008 17:31:17
Thomas
Hallo Leute,
ich möchte Daten in Exceltabellen per Makro korrigieren. ("Suchen und Ersetzen")
Die notwendigen Daten stehen in einer XML-Datei.
Dabei habe ich eine Bezeichnung (z.B. Bezeichnung_CAD) und suche
die entsprechende korrigierte Bezeichnung (z.B. Bezeichnung_BED).
Bisher gehe ich so vor:
  • KOMPLETTE XML-Datei einlesen:
    - Open strArtikelliste For Input As #...
    - Do While Not EOF(...)
    ...

  • ALLE Daten in mehreren Arrays speichern:
    - alle Identnummern: 1 Array
    - alle Bezeichnung_CAD: 1 Array
    - alle Bezeichnung_BED: 1 Array
    ...

  • Suche nach einer korrigierten Bezeichnung:
    - alle Elemente des 1. Arrays nach Begriff durchsuchen
    - Position der Fundstelle speichern
    - anhand dieser Position im 2. Array die Korrektur bestimmen

  • Das funktioniert zwar so weit, ist aber sicher nur suboptimal gelöst.
    Mein Hauptproblem:
  • 1. Einige Tags (z.B. "IdentNr") kommen auf mehreren "Ebenen" der XML-Datei vor.
    - Jeder Lieferant hat eine IdentNr
    - Jedes Produkt eines Lieferanten hat eine IdentNr
    -> Ich kann also nicht einfach den Text der XML-Datei nach IdentNr durchsuchen,
    da nicht sicher ist, ob ich mich in einem Lieferanten oder Artikel befinde.


  • Weitere kleinere Probleme:
  • 2. Das Makro zum Einlesen der XML-Datei ist sehr kompliziert geworden.

  • 3. Das Makro ist nicht "allgemeingültig".
    - Sollte sich also die XML-Datei später einmal ändern, müsste ich auch das Makro neu schreiben.

  • 4. Direkter Zugriff über einen Parser o.ä. wäre sicher schneller.

  • Ich habe versucht mit "Microsoft.XMLDOM" u. a. weiter zu kommen. Bisher leider erfolglos.
    Vielleich hat jemand ein paar Tipps?
    Im Anhang ist ein kleiner Ausschnitt der XML-Daten als Text.
    
    56474.txt
    


    Danke im Voraus
    Thomas

    Anzeige

    2
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    Stimmt denn die Struktur der XML-Datei ?
    03.11.2008 17:52:00
    NoNet
    Hallo Thomas,
    ich kann Dir zwar nicht adhoc helfen, aber zumindest den Tip : Überprüfe bitte mal die XML-Struktur der Datei.
    Ich habe diese eben in Excel importiert und es scheint, als fehle ein Teil (siehe Baumstruktur im Aufgabenbereich rechts) :
    In der Liste hingegen werden mehrere Datensätze angezeigt !
    Weiterhing habe ich nicht verstanden, WAS Du über die XML WO durch WELCHEN Wert der XML-Datei ersetzen möchtest. Klingt ganz schön kompliziert....
    Gruß, NoNet
    Anzeige
    AW: Stimmt denn die Struktur der XML-Datei ?
    04.11.2008 07:40:00
    Thomas
    Hallo,
    ja die Struktur stimmt natürlich.
    Die gesamte xml-Datei ist aber etwa 50 KB groß, weshalb ich nur beispielhaft einige Daten in die Textdatei übernommen habe.
    Zur Sicherheit validiere ich die XML-Datei bei jedem Start des Makros mit "xmlint.exe".
    Anwendungsbeispiel:
  • Ich korrigiere eine Ersatzteilliste (XLS).

  • Die enthaltenen Artikel vergleiche ich über die Artikelnummer mit der XML-Datei.

  • - Diese habe ich selbst angelegt, da immer wieder gleiche Fehler zu korrigieren sind.
    - Übertragungsfehler, überflüssiger Text ...
  • Wenn in der XML-Datei diese Artikelnummer enthalten ist, lese ich u.a. folgendes aus:

  • - "Bezeichnung_CAD" z.B.: "SchalldÌmpfer"
    - "Bezeichnung_BED" z.B.: "Schalldämpfer"
  • Steht nun in der Ersatzteilliste (XLS) für den Artikel die falsche "Bezeichnung_CAD", korrigiere ich sie.

  • - Ersetze also "Bezeichnung_CAD" durch die korrekte "Bezeichnung_BED"
    Den direkten Zugriff auf die XML-Datei möchte ich deshalb haben,
    weil in einem untergeordneten Teil der Struktur jeden Artikels gleich die Übersetzungen in mehrere Sprachen stehen.
    Gruß
    Thomas
    Anzeige
    ;

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige