Fehler bei der XML-Erstellung (Encoding-Problem)

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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 / 10 / 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 / 4022 / 114 / 917 ) »
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 / 10 / 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 / 10 / 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 / 4358 / 219 / 1170 ) »
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.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag (Insgesamt 2):
black_adept19KnarfRed81

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.
1367
Views
ENCODING fehler
von Handeglo » 25.01.2008 09:58 • Verfasst in ABAP® für Anfänger
2
Antw.
3079
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.
1365
Views
Fehler bei der Erstellung einer Screenvariante
von Foerstar » 21.03.2017 08:08 • Verfasst in ABAP® Core
1
Antw.
1202
Views
Email Zeichen Encoding
von SaskuAc » 18.04.2018 11:11 • Verfasst in ABAP® Core
1
Antw.
3425
Views
TA Erstellung : Userexit
von verzweifelt » 10.06.2015 19:38 • Verfasst in Material Management & Produktionsplanung

Über diesen Beitrag



Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Aktuelle Forenbeiträge

Neue Themen als SAP Entwickler
vor 2 Stunden von ralf.wenzel 108 / 10790
Was soll das + in BRF+?
Gestern von msfox 20 / 2448

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.