XMl File lesen

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
13 Beiträge • Seite 1 von 1
13 Beiträge Seite 1 von 1

XMl File lesen

Beitrag von kirmuh (ForumUser / 64 / 0 / 0 ) »
Kann mir jemand sagen mit welcher methode ich die felder eines xml files lesen kann?

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von kirmuh (ForumUser / 64 / 0 / 0 ) »
eine methode habe ich nun gefunden um die nachrichten lesen zu können, weiss aber vielleicht jemand wie ich auf die einzelnen felder der xml struktur zugreifen kann? gibt es da irgendwie eine methode?

Beitrag von kirmuh (ForumUser / 64 / 0 / 0 ) »
Hi, nochmals ein keiner hinweis, vielleicht kann man mir damit besser helfen.
die xml datei habe ich bereits in einer variablen lf_string. hier ist der gesamte inhalt meines xml files. nur wie kann ich nun auf die einzelnen felder dieses xml files zugreifen, damit ich sie in eine tabelle speichern kann?

über eine antwort würd ich mich wirklich freuen.

lg

Beitrag von dawns (ForumUser / 99 / 0 / 0 ) »
Hi, vorab: eine Methode ist mir nicht bekannt.

Das Prob ist ja die Syntax der XML, die ja so sein kann:

Code: Alles auswählen.

<name>
      <first>Ingo</first>
     <last>Melzer</last>
</name>
Du solltest die Struktur der XML-Datei kennen. In diesem Beispiel müsstest du eine Struktur mit Vorname und Nachname anlegen.
Es gibt schon sämtliche Hilfen zu diesem Thema, 2 davon sind hier:
http://www.abapforum.com/forum/viewtopi ... hlight=xml
http://www.abapforum.com/forum/viewtopi ... hlight=xml


ich selbst hab da mal vor langer zeit ein programm geschrieben, dass liest den Pfad einer XML datei ein, und gibt alle Daten in einer Tabelle aus. Der sinn ist: das man in SAP das XML dokument bearbeiten kann und wieder abspeichert. Allerdings ist das Coding extremst lang und kompliziert, ev. helfen dir ja schon die links und die suche weiter :)

lg dawns

Beitrag von babap (Expert / 681 / 1 / 1 ) »
Hallo,

Es gibt eine Funktionsgruppe "SDIXML" mit lauter Funktionsbausteinen.

Hier kann man einen XML-String in einen DOM-TREE (Document-Object) Model umwandeln. (geht für Export auch umgekehrt)

Das DOM ist eine baumartige Struktur aus Abap-OO-Objekten.

Dazu gibt es wieder Klassen und Utilities, die diese Struktur "abklappern" und bestimmte Einträge und Felder herauslesen. Also z.B. <file>-Tags suchen und den Inhalt bzw. Wert dazu zurückgeben. (Man braucht keinen eigenen XML-Parser zu schreiben!)

Das habe ich mir mal durch die Eingabe von "xml" auf help.sap.com zusammengesucht.

Gruß
babap

Beitrag von kirmuh (ForumUser / 64 / 0 / 0 ) »
danke für eure antworten, zum einen hab ich keinen passenden funktionsbaustein in der genannten fg gefunden, da ich mein xml in einer variablen lf_string vom typ string habe und ich einfach nur bestimmte felder rauslesen möchte, ohne dass ich die xml variable parsen muss.

ich hab irgendwie gefunden dass es mit xslt gehen würde, kennt sich damit jemand aus?

Beitrag von babap (Expert / 681 / 1 / 1 ) »
Hallo,

bevor ich was anderes schreibe, hier meine Vorgehensweise:

SAP mach ständig und alles in XML.
Der ganze GUI-Kram wird in XML zum GUI geschickt und kommt von dort als XML zurück.

Die ganzen Testfälle im eCATT werden intern als XML "verwurschtet".

Also muß es Funktionsbausteine dafür geben. (Punkt).

Ich weiß, daß es sie gibt, denn ich habe sie schon angewendet.

In der angesprochenen Funktionsgruppe gibt es zwei Bausteine mit DOM_TO_XML und XML_TO_DOM, wobei der letzte einen String oder eine Tabelle als Eingabeparameter erwartet.

Der Ausgabeparameter ist ein Interface eine Klasse (IF..DOM..irgendwas).

Und jetzt mal den Rucksack aufgesetzt, die Machete ausgepackt und die Wanderschuhe an, Kompass raus und los auf die Suche.

Gruß
babap
P.S. bevor ich 3 Tage brauche, eine Parser zu schreiben, suche ich lieber 6 Tage nach einer SAP-Funktion und lerne diese kennen.
Denn wenn ich das ganze nochmal brauche bin ich beim zweiten mal viel viel schneller.
Und ich habe es immer noch ein zweites oder ein drittes Mal gebraucht.

Beitrag von babap (Expert / 681 / 1 / 1 ) »
Hallo,

und hier, das, was ich auch schon vorgeschlagen habe.

Mal XML und DOM auf help.sap.com eingeben und suchen lassen.

Die ersten 4 Treffer sind VOLLTREFFER!!!

Der erste Treffer beschäftigt sich mit dem DOM und wie man darin rumwandert und was sucht ...
Definition
DOM is a standard designed to provide the developer with an easy-to-manipulate tree structure representation of an XML document. This structure is appropriate for applications that need to access and manipulate the XML document directly. Since the whole tree is maintained in the memory, DOM-based applications can deteriorate server performance. Thus, we do not recommend that you use it for parsing large XML documents, especially when you are interested in some part of it and not the whole document.

Use
DOM enables you to traverse an existing DOM tree and extract specific information, as well as to build a DOM document in the memory and then either forward it to an application or to serialize it.

For more information, see:

· Building DOM Trees Through Parsing

· Traversing

· Building DOM Trees from a Document
Also XML in DOM umgewandet und "ran an die Wurscht"


Viel Spaß beim Stöbern und Ausprobieren
babap
P.S. wie träge die abap-Jugend heutzutage doch ist ... :roll:

Beitrag von kirmuh (ForumUser / 64 / 0 / 0 ) »
ich bin nicht träge :)

vielen dank an euch, dann mach ich mich mal ans zeug das ganze zeug irgendwie zu verstehen............

Beitrag von babap (Expert / 681 / 1 / 1 ) »
Hey,

Du legst ja ein Tempo vor, das ist ja atemberaubend ...

Viel Erfolg
Gruß
babap
P.S. bei Fragen immer wieder gerne :wink:

Beitrag von babap (Expert / 681 / 1 / 1 ) »
Hallo,
und hier noch der Link zur DOM-Doku von vorhin:

http://help.sap.com/erp2005_ehp_03/help ... ameset.htm

Gruß
babap

Re: XMl File lesen

Beitrag von tom1986 (ForumUser / 38 / 0 / 0 ) »
Hi,

ich würde dir

CALL TRANSFORMATION id
SOURCE XML <xml_dummy>
RESULT extract = result.

vorschlage. result ist einfach eine Tabellenstruktur, die auch dem Aufbau der XML-Datei entspricht.

MfG Tom

Re: XMl File lesen

Beitrag von dawns (ForumUser / 99 / 0 / 0 ) »
@ tom1986 kannst du bitte mal das ganze coding zur verfügung stellen, denn bei mir funktioniert das nicht:

Code: Alles auswählen.

  TYPES: BEGIN OF ty_doc_export,
    head  TYPE thead,
    line  TYPE tlinetab,
  END OF ty_doc_export.
  DATA: lt_doc_export TYPE TABLE OF ty_doc_export,
            my_xml TYPE string,
            lt_data  TYPE STANDARD TABLE OF string,
            ....
  FIELD-SYMBOLS: <ls_data> TYPE string.


* Get Path to File
  CALL METHOD cl_gui_frontend_services=>file_open_dialog
    EXPORTING
      initial_directory = 'C:\'
    CHANGING
      file_table        = lt_file
      rc                = lv_subrc.

  READ TABLE lt_file INTO lv_filename INDEX 1.

  CALL METHOD cl_gui_frontend_services=>gui_upload
    EXPORTING
      filename   = lv_filename
      filetype   = 'ASC'
    IMPORTING
      filelength = lv_size
    CHANGING
      data_tab   = lt_data.

  LOOP AT lt_data ASSIGNING <ls_data>.
    CONCATENATE my_xml <ls_data> INTO my_xml.
  ENDLOOP.

  CALL TRANSFORMATION id
  SOURCE XML my_xml
  RESULT extract = lt_doc_export.
Bei mir ist die Tabelle lt_doc_export dann immer leer, sie entspricht aber genau der Struktur des xml-file

Idee?
Danke im Voraus

Seite 1 von 1

Vergleichbare Themen

9
Antw.
6267
Views
File lesen
von Handeglo » 31.01.2008 09:26 • Verfasst in ABAP® für Anfänger
2
Antw.
2369
Views
File-Informationen vom Server lesen z.B. Erstelldatum
von MindMOB » 13.08.2008 14:45 • Verfasst in ABAP® Core
3
Antw.
19507
Views
URL File-Server Internet File Download /Delet cl_http_client
von Luigi91 » 04.10.2016 08:28 • Verfasst in ABAP Objects®
1
Antw.
8071
Views
Unterschied: Sequentielles lesen, direktes lesen
von MarkusW » 07.08.2008 16:46 • Verfasst in ABAP® für Anfänger
1
Antw.
1823
Views
CSV File
von robin1at » 11.04.2006 18:20 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1743
HR-Entgeltnachweis
vor 2 Tagen von ChrisB 4 / 2296

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1743
HR-Entgeltnachweis
vor 2 Tagen von ChrisB 4 / 2296

Unbeantwortete Forenbeiträge

Export von Spools in XLSX
vor 4 Tagen von abapamateur 1 / 294
Feldberechnung ME32K
vor einer Woche von ZF_SAPler 1 / 886
MS-Word als Editor
letzen Monat von tekko 1 / 4396