XML --> ABAP

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
1 Beitrag Seite 1 von 1
1 Beitrag Seite 1 von 1

XML --> ABAP

Beitrag von Gast ( / / 0 / 3 ) » 18. Nov 2005 08:40

Hi Leute!!
Brauch eure Hilfe zu einem Problem. Ich muss eine XML-Datei in ABAP umwandeln, ich will die Daten in eine interne Tabelle schreiben.

Hier der Code:

XML:

Code: Alles auswählen.

<?xml version="1.0" encoding="iso-8859-1" ?>
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
	<asx:values>
		<kunde>
			<kunnr>0000012345</kunnr>
			<name1>Max</name1>
			<name2>Mustermann</name2>
		</kunde>
	</asx:values>
</asx:abap>
XSLT:

Code: Alles auswählen.

<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sapxsl="http://www.sap.com/sapxsl" version="1.0">
  <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">

    <xsl:strip-space elements="*"/>

    <xsl:template match="KUNDE">
      <xsl:template match="KUNNR">
        <xsl:value-of select="."/>
      </xsl:template>

      <xsl:template match="NAME1">
        <xsl:value-of select="."/>
      </xsl:template>

      <xsl:template match="NAME2">
        <xsl:value-of select="."/>
      </xsl:template>
    </xsl:template>

  </asx:abap>
</xsl:transform>
ABAP:

Code: Alles auswählen.

DATA: wa_pfad TYPE string.

DATA: BEGIN OF i_tab,
        kunnr    TYPE  kunnr,
        name1    TYPE  name1,
        name2    TYPE  name2,
        END OF i_tab.

  MOVE: p_pfad TO wa_pfad.

      CALL TRANSFORMATION ztestxml_xslt
      SOURCE XML wa_pfad
      RESULT kunnr = i_tab-kunnr
             name1 = i_tab-name1
             name2 = i_tab-name2.

      LEAVE TO LIST-PROCESSING.

      WRITE: i_tab.
Ich bekomme dann Folgendes:

Code: Alles auswählen.

Laufzeitfehler         UNCAUGHT_EXCEPTION   
Ausnahme               CX_XSLT_RUNTIME_ERROR
Selbst wenn man in der XML-Datei die asx-Anweisungen weglässt funktioniert es nicht.

Was mir aufgefallen ist, dass wenn man das XSLT-Programm ausführt folgendes ausgegeben wird (bei dem Coding^^):

Code: Alles auswählen.

<?xml version="1.0" encoding="iso-8859-1"?>#        
##########0000012345#####Max#####Mustermann#########
Habt ihr vielleicht 'ne Idee warum das Programm einen Laufzeitfehler ausgibt?


Seite 1 von 1

Aktuelle Forenbeiträge

ABAP Clean Code
vor 56 Minuten von deejey 54 / 1336
Funktionsbaustein READ_TEXT
vor 17 Stunden von Tron 2 / 121
Code lesen
Gestern von GastX 5 / 1464
CL_GUI_TEXTEDIT im Subscreen
Gestern von black_adept 2 / 84

Unbeantwortete Forenbeiträge

HowTo? Reisekosten PR05: Land hinzufügen
vor 2 Tagen von Florian9999 1 / 75
eMail Versand Faktura, falscher Betreff in eMail
vor 2 Tagen von bapimueller 1 / 74
[GELÖST] Kundenhierarchien in der Preisfindung
vor 3 Tagen von SAP_ENTWICKLER 1 / 84
[GELÖST] Feld KNVV-BOIDT
vor einer Woche von SAP_ENTWICKLER 1 / 65