![]() |
Sonderzeichen XML-Datei
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
ich bin zur Zeit dabei einen Webshop-Abgleich zu programmieren und bekomme das Problem mit den Sonderzeichen irgendwie nicht in den Griff. Unter Verwendung der GambioXML-Schnittstelle bekomme ich es zur Zeit nicht hin, dass nachdem Einspielen von Artikeln die Bezeichnungen und Beschreibungen korrekt dargstellet werden. Wie muss ich die Sonderzeichen übergeben, sodass hier keine Probleme entsteht?? In der Datei enthält nur noch die description Sonderzeichen, aber der Name sollte auch korrekt geschrieben werden. Anbei habe ich einmal eine Datei angehängt, wie sie momentan erzeugt wird. Schöne Grüsse |
AW: Sonderzeichen XML-Datei
Zitat:
Was für Probleme gibt es denn? |
AW: Sonderzeichen XML-Datei
Ich habe das Problem, dass die Sonderzeichen nicht korrekt dargestellt werden:
![]() |
AW: Sonderzeichen XML-Datei
Mmm Meiner Auffassung nach ist da alles in Ordnung. Du übergibst
Code:
und
<name language_id="1" language_iso="en" type="0">
<![CDATA[Aetzloesung 100 g Oxalsaeure/L]]> </name>
Code:
Und das ist was Du bekommst. Du solltest Dir also mal die Generierung der CDATAs anschauen.
<description language_id="1" language_iso="en" type="2">
<![CDATA[<b>Ätzlösung 100 g Oxalsäure/L</b></br></br></br><IMG border=0 hspace=0 alt="GHS 05" align=baseline src="http://www.gruessing-shop.de/images/image/GHS05.jpg"> <IMG border=0 hspace=0 alt="GHS 07" align=baseline src="http://www.gruessing-shop.de/images/image/GHS07.jpg">]]> </description> Gruß K-H |
AW: Sonderzeichen XML-Datei
Zitat:
Sieht nach PHP aus. Liest die PHP Seite deine Delphi XML Datei und serviert die? Dann vermute ich, das der PHP Code ein Problem mit der UTF8 XML Datei hat. Vielleicht kannst du die im ANSI format schreiben? |
AW: Sonderzeichen XML-Datei
Wenn der CDATA-Inhalt den HTML-Inhalt darstellen soll, dann müssten dort die Umlaute doch escaped sein, oder? Also statt
Ätzlösung 100 g Oxalsäuremüsste da sowas wie Ätzlösung 100 g Oxalsäurestehen. |
AW: Sonderzeichen XML-Datei
Sobald ich die Sonderzeichen im Html umsetze, passiert nichts mehr.
Code:
ich erhalte dann folgende Fehlermeldung:
<![CDATA[ <b>Ätzlösung 100 g Oxalsäure/L</b></br></br></br><IMG border=0 hspace=0 alt="GHS 05" align=baseline src="http://www.gruessing-shop.de/images/image/GHS05.jpg"> <IMG border=0 hspace=0 alt="GHS 07" align=baseline src="http://www.gruessing-shop.de/images/image/GHS07.jpg">]]>
Code:
Ich weiß nun nicht, ob es mein Fehler ist oder die Schnittstelle zum Shop fehlerhaft ist.
<![CDATA[exception 'ErrorException' with message 'simplexml_load_string(): Entity: line 20: parser error : CData section not finished
<' in /var/www/web57/html/gx2/system/classes/gambio_xml/XMLConnectAjaxHandler.inc.php:96 Stack trace: #0 [internal function]: custom_error_handler(2, 'simplexml_load_...', '/var/www/web57/...', 96, Array) #1 /var/www/web57/html/gx2/system/classes/gambio_xml/XMLConnectAjaxHandler.inc.php(96): simplexml_load_string('<?xml version="...') #2 /var/www/web57/html/gx2/system/core/RequestRouter.inc.php(92): XMLConnectAjaxHandler->proceed() #3 /var/www/web57/html/gx2/request_port.php(64): RequestRouter->proceed('XMLConnect') #4 {main}]]> |
AW: Sonderzeichen XML-Datei
Zitat:
Vermutlich parsed er den Inhalt der CDATA Bereiche mit und stolpert über diese Tags: </br></br></br> In XML müssten die korrekt <br /> heißen. Wenn das nicht klappt, würde ich versuchen, die XML Datei nicht im UTF-8 sondern ISO-8859-1 (ANSI) Format zu schreiben. ![]() Und die öäß... direkt verwenden. |
AW: Sonderzeichen XML-Datei
XML kennt keine HTML-Entities, abgesehn von den Fünf, welche für die SGML/XML/XHTML-Kodierung zwingend nötig sind.
Code:
Alles Andere muß erstmal mit der Codepage des XML codiert sein und der Rest kommt auf die Codierung des HTML an.
" & ' < > und &#...;
HTML-Encoding mit UTF-8 oder mit anderem passenden Encoding, welches in die Speicherdarstelung des XML rein passt. |
AW: Sonderzeichen XML-Datei
Hi,
ich habe gestern einmal die Indy-Komponente ersetzt und siehe da, es scheint zu funktionieren. Also wird die Komponente wohl auf irgendeine Art und Weise die XML-Dateien umsetzten. Stellt sich nur die Frage durch welche Einstellung ich das Problem beheben kann?! In dem Response sehen die CDATAs folgender Massen aus:
Code:
Warum wir da was durch die Indy-Komponente umgesetzt? Die soll doch ganz simple nur meine Request versenden und den Response wieder ausgeben, ohne irgendwas daran zu ändern.
<![CDATA[Wert]]>
|
AW: Sonderzeichen XML-Datei
Indy ... XML ... Was machst du da eigentlich?
Das
Delphi-Quellcode:
und
<![CDATA[
Delphi-Quellcode:
weist du doch hoffentlich nicht als Text dem Name-Node zu?
]]>
Gibt es ein XML Schema (XSD) ? Fragen über Fragen. |
AW: Sonderzeichen XML-Datei
Hi,
ich erzeuge mir eine XML-Datei die als Request an eine URL gesendet wird. Wenn ich die Datei erzeuge sehen die CDATAs meiner Meinung nach auch korrekt aus. Im Response Stream erscheinen diese aber als wär es ein reiner Text.
Code:
<![CDATA[Wert]]>
Code:
UebXml := TXMLDocument.Create(nil);
UebXml.Active := True; UebXml.Version := '1.0'; UebXml.Encoding := 'UTF-8'; UebXml.Options := UebXml.Options + [doNodeAutoIndent]; UebXml.DocumentElement := UebXML.CreateNode('GambioXML', ntElement, ''); UebXml.DocumentElement.AddChild('general').AddChild('function').NodeValue := ueArt; UebXml.DocumentElement.ChildNodes.Nodes['general'].AddChild('session_key').NodeValue := gsKey; UebXml.DocumentElement.AddChild('parameters'); UebXml.DocumentElement.ChildNodes.Nodes['parameters'].AddChild('products'); PosXmlNode := UebXml.DocumentElement.ChildNodes.Nodes['parameters'].ChildNodes.Nodes['products'].AddChild('product'); PosXmlNode.Attributes['action'] := 'insert'; PosXmlNode.AddChild('external_product_id').NodeValue := MyQHauptArtikelhaupt_art_nr.AsString; PosXmlNode.AddChild('quantity').NodeValue := 9999; PosXmlNode.AddChild('price').NodeValue := 0; PosXmlNode.AddChild('status').NodeValue := 1; SetText(PosXmlNode.AddChild('name'),trim(MyQHauptArtikelbez1.AsString),'2','de','0',true); zwNode := PosXmlNode.AddChild('name'); zwNode.Attributes['language_id'] := 2; zwNode.Attributes['language_iso'] := 'de'; CDataNode := uebXML.CreateNode(MyQHauptArtikelbez1.AsString,ntCData); zwNode.ChildNodes.Add(CDataNode); RequestListe := TStringList.Create; RequestListe.Values['gambio_api_xml'] := UebXml.XML.Text; UebXml.Active := false; UebXml := nil; lResStream := TMemoryStream.Create; try HttpPostURL(ConfigRec.web_url,RequestListe.Text,lResStream); except ADDMem('Fehler bei SetData "' + ueArt + '". ' ); exit; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz