Fehler bei der XML-Erstellung (Encoding-Problem)

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Fehler bei der XML-Erstellung (Encoding-Problem)

Beitrag von 19KnarfRed81 (ForumUser / 19 / 9 / 3 ) »
Hallo Zusammen,

ich muss ein XML zusammenbasteln und bekomme dabei immer den Fehler "Eingabe ist kein korrektes XML". Wenn ich mir den XML-String im Debugger ansehe, kann ich die Meldung sogar nachvollziehen. Wo ist der Fehler? Lasse ich das Encoding weg, klappt es.

Code: Alles auswählen.

 TRY.

      DATA(o_ixml) = cl_ixml=>create( ).

      " Encoding UTF-8    
      DATA(o_encoding) = o_ixml->create_encoding( character_set = 'UTF-8'
                                                  byte_order    = if_ixml_encoding=>co_none ).

      DATA(o_doc) = o_ixml->create_document( ).

[...] 

      " xml-String generieren
      DATA lv_xml TYPE string.

      DATA(o_stream) = o_ixml->create_stream_factory( )->create_ostream_cstring( lv_xml ).
      o_stream->set_encoding( encoding = o_encoding ).
      o_stream->set_pretty_print( pretty_print = abap_true ).

      o_ixml->create_renderer( document = o_doc
                               ostream  = o_stream )->render( ).

      " Anzeige im Browser
      cl_abap_browser=>show_xml( xml_string = lv_xml
                                 title      = 'Test XML'
                                 size       = cl_abap_browser=>large ).

    CATCH cx_root INTO DATA(e_text).
      WRITE / e_text->get_text( ).
  ENDTRY.

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


Re: Fehler bei der XML-Erstellung (Encoding-Problem)

Beitrag von black_adept (Top Expert / 4008 / 110 / 908 ) »
Hast du mal versucht das lv_xml im Debugger anzuschauen ob es da genau so aussieht?

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
19KnarfRed81

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Fehler bei der XML-Erstellung (Encoding-Problem)

Beitrag von 19KnarfRed81 (ForumUser / 19 / 9 / 3 ) »
Der Screenshot ist doch vom Debugger? Sieht da genauso aus. Ich vermute ich muss das mit XString machen.

Bekomme ich durch das Encoding diese Kopfzeile in die XML rein? Oder muss ich das irgendwie selber machen (wenn ja wie)?
<?xml version="1.0" encoding="utf-8"?>

Re: Fehler bei der XML-Erstellung (Encoding-Problem)

Beitrag von 19KnarfRed81 (ForumUser / 19 / 9 / 3 ) »
Hat sich glaube ich erledigt. Meine Vermutung war richtig.

Ich muss die Methode create_ostream_xstring nutzen um das UTF-8-Coding reinzurendern.

Code: Alles auswählen.

DATA(o_stream) = o_ixml->create_stream_factory( )->create_ostream_xstring( lv_xstr ).
Für die Anzeige zu Testzwecken konvertiere ich es dann anschließend wieder in XML zurück.

Danke trotzdem!

Re: Fehler bei der XML-Erstellung (Encoding-Problem)

Beitrag von a-dead-trousers (Top Expert / 4352 / 219 / 1166 ) »
Zur Info:
Strings in ABAP sind immer entweder SingleByte (iso-8859-1, ...) oder DoubleByte (UTF-16, ...) je nach System-Codepage. UTF-8 ist eine "Hybrid"-Codierung und daher nur binär als XSTRING speicherbar. Die StreamFactory setzt (leider) implizit die Codierung anhand des verwendeten Datentyps. Nur bei XSTRING wird das Encoding aus dem XML-Document berücksichtigt.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1322
Views
ENCODING fehler
von Handeglo » 25.01.2008 09:58 • Verfasst in ABAP® für Anfänger
2
Antw.
3022
Views
Fehler:Im Text Mode muss der Encoding Zusatz angeben werden.
von max1 » 16.07.2007 15:53 • Verfasst in ABAP® für Anfänger
1
Antw.
1319
Views
Fehler bei der Erstellung einer Screenvariante
von Foerstar » 21.03.2017 08:08 • Verfasst in ABAP® Core
1
Antw.
1156
Views
Email Zeichen Encoding
von SaskuAc » 18.04.2018 11:11 • Verfasst in ABAP® Core
1
Antw.
3368
Views
TA Erstellung : Userexit
von verzweifelt » 10.06.2015 19:38 • Verfasst in Material Management & Produktionsplanung

Aktuelle Forenbeiträge

Vererbung abstrakte Klassen
vor 48 Minuten von rob_abc 1 / 16
Neue Themen als SAP Entwickler
vor 7 Stunden von msfox 91 / 8959
ALV - Felder zu Variante auslesen
vor 20 Stunden von whaslbeck 3 / 162

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

Vererbung abstrakte Klassen
vor 48 Minuten von rob_abc 1 / 16
Neue Themen als SAP Entwickler
vor 7 Stunden von msfox 91 / 8959
ALV - Felder zu Variante auslesen
vor 20 Stunden von whaslbeck 3 / 162

Unbeantwortete Forenbeiträge

Vererbung abstrakte Klassen
vor 48 Minuten von rob_abc 1 / 16
Hilfe bei SWEC/SWE2
Gestern von retsch 1 / 132