| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Gast
Beiträge: n/a
| XML und htmlText Content + Sonderzeichen
Hi, ich habe da ein sehr großes Problem mit XML… sonst hab ich ja immer PHP benutzt und loadVars()… Also… XML Datei laden und verarbeiten kein Problem… Aber die Datei wird nich eingelesen wenn der Inhalt eines NodeAttributes: 1.) HTML Tags für htmlText Content enthält 2.) "", '' usw. enthält 3.) linebreaks, die die textarea zur Eingabe im CMS gemacht hat… letzeres könnte man ja einfach mit n2lbr() nach HTML schicken… Aber wie kriege ich nun mein XML File dazu, diese Dinge abzuspeichern?!? Code: <?xml version="1.0" encoding="UTF-8"?>
<id>
<data date="1764" description="Eintrag Überschrift" link="http://www.google.de" content="Das ist ein Text." />
<data date="1999" description="HTML<br /> Tags wollen einfach <b>nicht</b>" link="http://www.google.de" content="Das ist ein Text." />
<data date="1998" description="schlimm sind auch "Anführungszeichen"" link="http://www.google.de" content="Das ist ein Text." />
</id> Yves |
|
| | #2 (permalink) |
| Nord-Workoholic Registriert seit: Mar 2004 Ort: Kiel
Beiträge: 937
|
Kein Wunder, indem Du Anführungszeichen (") in Attribut-Werte schreibst, machst Du das Attribut ja dicht oder auf ohne ein neues Attribut zu starten oder zu schließen. Dadurch machst Du Deine XML-Datei kaputt bzw. fehlerhaft, und dann zeigt Dir Flash die kalte Schulter. Versuchs mal so: Code: <?xml version="1.0" encoding="UTF-8"?>
<id>
<data date="1764" description="Eintrag berschrift" link="http://www.google.de" content="Das ist ein Text." />
<data date="1999" description="<br /><b>HTML</b>" link="http://www.google.de" content="Das ist ein Text." />
<data date="1998" description="schlimm sind auch "Anfhrungszeichen"" link="http://www.google.de" content="Das ist ein Text." />
</id> Edit: Wenn Du das dann in Flash in einem HTML-Text-Feld verwenden möchtest oder so, müsste das klappen.
__________________ SIT - Websoftware und -Entertainment | yv.net - Mein Blog über alles mögliche | Deutscher Fußball Blog Geändert von TinKim (23-12-2004 um 14:17 Uhr) |
| | |
| | #9 (permalink) |
| "Lust auf Stil" Registriert seit: Jun 2003 Ort: Florenz
Beiträge: 1.490
|
Was ist denn, wenn Du nach der Def. des xml-Elements in Flash noch so etwas wie: ActionScript:
Und dann z.B. nach dem child: ActionScript:
__________________ Dann geht ein Bild hinein, geht durch der Glieder angespannter Stille - und hört im Herzen auf zu sein. |
| | |
| | #10 (permalink) |
| Gast
Beiträge: n/a
|
Hmm, das ist ein netter Ansatz, aber zu aufwendig und zuviel Workaround… Der Kunde kann in einem CMS via kleiner Schaltfläche die HTML Tags <b>,<i>,<u>und <a href> <br>(einfach return… nl2br + replace von <br /> nach <br> klappt) einfügen. Diese werden dann in die XML Datei geschrieben… und damit diese dann dadurch nicht kaputt geht, hab ich das nun als rawurlencoded. Mich wundert einfach nur, warum der HExcode nicht gewandelt wird im Textfeld. txt.htmlText="S%26J"; zb funktioniert nicht. Texte wie "http%3A%2F%2Fwww.google.de" content="%3Cb%3Ebold%3C%2Fb%3E%3Cbr%3E%0D%0A%3Cu%3 Eunderline%3C%2Fu%3E%3Cbr%3E%0D%0A%3Ci%3Eitalic%3C %2Fi%3E%3Cbr%3E%0D%0A%3Ca%20href%3D%22www.google.% 22%3Ehyperlink%3C%2Fa%3E%3Cbr%3E%0D%0A%3Cbr%3E%0D% 0A%3Cbr%3E%0D%0A%3Cbr%3E%0D%0A%3Cbr%3E%0D%0A%3Cbr% 3E%0D%0A" sollen dann später interepretiert werden… also im Prinzip nur die Zeichen <,>,",/ müssten escaped werden… ich habe schon überlegt, ob ich mir nicht selbst Werte mit zb * ausdenke und dann konvertiere für die XML und in Flash wieder ersetze… Schau mal die Fla anbei… warum geht in dem simplen Feld nicht der Hexcode??? Yves |
|
| | #13 (permalink) |
| "Lust auf Stil" Registriert seit: Jun 2003 Ort: Florenz
Beiträge: 1.490
|
Hi coffeemaker, warum setzt Du in den Beispielen denn nicht die Html-Tags direkt in die txt? Dort werden sie doch normalerweise korrekt erkannt. Die Dinger kann doch jeder in Wordpad oder so erstellen. Dann braucht es keine Schaltflächen und CMS. Dazu einfach ein PHP-File-Upload. Und Deine XML, machst Du die immer so? Wo ist denn der Rest: PHP-Code: Was hast Du dennn genau vor? Sollen die Texte online oder offline erstelt werden? Besser txt oder xml? Eine txt sollte für Ungeübte die einfachere Variante sein. Oder versuchst Du in Flash einen Text per Art bbcode mittels AS umzuwandeln und diesen per php abzulegen? Wenn doch xml-Daten angelegt werden sollen, hat warrant doch recht: xml wie gewohnt deklarieren, dann xmld.parseXML, dann CDATA und mit nodeValue das Erzeugen neuer Knoten vermeiden. Müsste auch mit den php-Funktionen für XML klappen. Was ist denn nu Dein genaues Ziel bzw. was soll der Kunde tun? Mein Favorit für ungeübte immer noch die txt mit den Variablen und den einfachen Html-Tags. Bin jetzt offline, frohe Weihnachten, Family-Time.
__________________ Dann geht ein Bild hinein, geht durch der Glieder angespannter Stille - und hört im Herzen auf zu sein. |
| | |
| | #14 (permalink) |
| Gast
Beiträge: n/a
|
Hi Questioner. Die HTML Tags setze ich doch „einfach“ in den „Text“. Mal von vorne… Es gibt eine Präsentationscdrom, deren Content auch im Web bereitsteht. Ich habe ein CMS gecodet, wo man nun Inhalte via Formluar in eine MySQL Dbase einpflegen kann. Wenn man den Text formatieren möchte, kann man einfach direkt in das Formularfeld in den Text HTML Tags einbinden oder eben eine kleine Javascript Funktion nutzen, die ähnlich wie das von dir erwähnte BB-Code Tool funktioniert. Soweit also alles klar. Ich kann mittels CMS wunderbar HTML formatierten Text in eine Dbase einpflegen. Online nutze ich dann loadVars und die &= Variablenseparatormethode, welche in der PHP Datei, die online die Inhalte abfragt, zum Einsatz kommt. Hier klappt alles wunderbar. Nun zur Offlineversion… diese kann man mittels CMS ebenfalls direkt downloaden. Dabei wir das aktive Verzeichnis ausgelesen, indem sich die Inhalte befinden. Die PHP Dateien werden ignorierst, stattdessen erzeugt das Script eine XML Datei aus dem Daten aus der Dbase und fügt diese dem „Archiv“ hinzu. Dieses Archiv kann man dann auf die CD brennen und hat alles beisammen. Mein Problem: Zuerst habe ich die HTML Tags usw. einfach in die Attributwertestrings der Nodes geschrieben. Das führte dazu das die XML kaputt ging. Logisch. Also habe ich dann alle non-alphanumerischen Zeichen mit rawurlencode() nach Hexcode codiert. Das ist soweit auch alles prima. Jetzt ist die XML Datei in Ordnung. Nur wenn ich diese dann mittels xml.load() in Flash einlese und auf dynamische Textfelder verteile, dann werden die Hexcodes nicht gewandelt. Warum? Mit loadVars und Variablenseparatormethode geht es doch auch! Was macht das XML-Objekt in Flash anders, das der hexencodierte Content daraus aufeinmal nicht mehr interpretiert und als „nackter“ String verwendet wird. Es geht hier weniger darum, welche Methode die richtige ist. Ich hab schon öfter mal Menüs usw. mit XML usw. erledigt, das ging auch immer wunderbar. So neu ist das alles nicht für mich. Jedoch habe ich noch nie Massentext usw. in XML Files für Flash abgespeichert und stoße nun auf das Problem mit den HTML Tags, was ich ja durch rawurlencode() gelöst habe. Nur will Flash da nicht mitspielen. Die Lösung wäre nun, aus dem CMS keine XML Dateien erstellen zu lassen, sondern eben numerierte Variablenseparatoren in einer Textdatei. Da geht das alles wie ich möchte. Dennoch interessiert mich das o.g. Problem, denn XML ist hier auch viel einfach auszulesen als eine txt Datei und daher die bessere Wahl. Liebe Grüße Yves |
|
| | #15 (permalink) | |
| Gast
Beiträge: n/a
| Zitat:
Das klingt gut. Ich werde das mal versuchen. Dann kann ich ja praktisch das encodieren nach Hexcode ersparen. Yves | |
|
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |