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 / 4087 / 126 / 940 ) »
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 / 4395 / 223 / 1182 ) »
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 3):
black_adept19KnarfRed81ralf.wenzel

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.
1458
Views
ENCODING fehler
von Handeglo » 25.01.2008 09:58 • Verfasst in ABAP® für Anfänger
2
Antw.
3221
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.
1440
Views
Fehler bei der Erstellung einer Screenvariante
von Foerstar » 21.03.2017 08:08 • Verfasst in ABAP® Core
1
Antw.
1285
Views
Email Zeichen Encoding
von SaskuAc » 18.04.2018 11:11 • Verfasst in ABAP® Core
1
Antw.
3519
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

Zeilenumbrüche ersetzen
vor 20 Stunden von ralf.wenzel 6 / 169
Dialog-Container mit Toolbar/Status
Gestern von tar gelöst 19 / 2335
SAP Trial Version für SAP Fiori
vor 2 Tagen von tar 2 / 1549

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

Zeilenumbrüche ersetzen
vor 20 Stunden von ralf.wenzel 6 / 169
Dialog-Container mit Toolbar/Status
Gestern von tar gelöst 19 / 2335
SAP Trial Version für SAP Fiori
vor 2 Tagen von tar 2 / 1549

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 2 Tagen von Bright4.5 1 / 613
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2240
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8832