Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 14-04-2006, 18:19   #1 (permalink)
ActionStripper
 
Benutzerbild von Mr.Twister
 
Registriert seit: Nov 2001
Ort: Oldenburg
Beiträge: 3.275
CDATA-zeichen sollen auch beim Tracen sichtbar sein.

Hi,
in meiner xml-Struktur befinden sich zahlreiche Informationen in CDATA-Tags.
Sie lassen sich auch wunderbar verarbeiten, wenn ich allerdings die xml-Struktur tracen lasse, sehe ich von CDATA nichts mehr.
Die Inhalte der CDATA-Tags werden nahtlos aneinander geschrieben, ohne daß dazwischen noch die Zeichen "<![CDATA[ ... ]]>" stehen.

Natürlich bereitet das große Probleme, wenn ich die xml-Struktur innerhalb von Flash ändere und diese erneut speichern möchte.

Meine Frage ist also, wie ich Flash dazu bekomme, die XML-Struktur inklusive der "<![CDATA[ ... ]]>" Zeichen auszugeben.

Kann mir da jemand helfen?`

Gruß,
twister
__________________
Design ist AUCH Geschmackssache.
Mr.Twister ist offline   Mit Zitat antworten
Alt 14-04-2006, 19:12   #2 (permalink)
Achim Math.PI
 
Benutzerbild von bloba
 
Registriert seit: Jul 2001
Ort: cool Colonia
Beiträge: 11.642
wie schaut denn die xml aus ??

Normaler weise müsstest du doch sowas wie zb
PHP-Code:
(myXMLDat.firstChild.childNodes[i].childNodes[j]); 
haben
__________________
gruß bloba

2 x onkel² b_d
bloba ist offline   Mit Zitat antworten
Alt 14-04-2006, 21:36   #3 (permalink)
ActionStripper
 
Benutzerbild von Mr.Twister
 
Registriert seit: Nov 2001
Ort: Oldenburg
Beiträge: 3.275
die xml-daten sehen so aus:

PHP-Code:
<?xml version='1.0' encoding='utf-8'?>
<x>
    <![CDATA[Erster]]> 
    <![CDATA[Hier...<b>soll der Text stehen,</b>der HTML Format benötigt]]> 
    <x>
        <![CDATA[Sub1]]> 
        <![CDATA[Hier...<br>soll der Text stehen,<br>der HTML Format benötigt]]> 
    </x>
    <x>
        <![CDATA[Sub2]]> 
        <![CDATA[Hier...<br>soll der Text stehen,<br>der HTML Format benötigt]]> 
    </x>
    <x>
        <![CDATA[Sub3]]> 
        <![CDATA[Hier...<br>soll der Text stehen,<br>der HTML Format benötigt]]> 
    </x>
    <x>
        <![CDATA[Sub4]]> 
        <![CDATA[Hier...<br>soll der Text stehen,<br>der HTML Format benötigt]]> 
    </x>
    <x>
        <![CDATA[Sub5]]> 
        <![CDATA[Hier...<br>soll der Text stehen,<br>der HTML Format benötigt]]> 
    </x>
</x>
<x>
    <![CDATA[Zweiter]]> 
    <![CDATA[Hier...<br>soll der Text stehen,<br>der HTML Format benötigt]]> 
    <x>
        <![CDATA[Sub1]]> 
        <![CDATA[Hier...<br>soll der Text stehen,<br>der HTML Format benötigt]]> 
    </x>
    <x>
        <![CDATA[Sub2]]> 
        <![CDATA[Hier...<br>soll der Text stehen,<br>der HTML Format benötigt]]> 
    </x>
</x>
<x>
    <![CDATA[Dritter]]> 
    <![CDATA[Hier...<br>soll der Text stehen,<br>der HTML Format benötigt]]> 
</x>
<x>
    <![CDATA[MENÜPUNKT]]> 
    <![CDATA[Neuer Menüpunkt]]> 
</x>
__________________
Design ist AUCH Geschmackssache.
Mr.Twister ist offline   Mit Zitat antworten
Alt 14-04-2006, 22:52   #4 (permalink)
Achim Math.PI
 
Benutzerbild von bloba
 
Registriert seit: Jul 2001
Ort: cool Colonia
Beiträge: 11.642
ich würde es so machen

PHP-Code:
var myXML_arrHeadline = [];
var 
myXML_arrContent = [];
//
var myXML = new XML();
myXML.ignoreWhite true;
myXML.onLoad = function(data) {
    if (
data) {
        for (var 
0i<this.firstChild.childNodes.lengthi++) {
            
myXML_arrHeadline.push(this.firstChild.childNodes[i].childNodes[0].firstChild);
            
myXML_arrContent.push(this.firstChild.childNodes[i].childNodes[1].firstChild);
        }
    }
    
trace(myXML_arrHeadline);
};
myXML.load('test.xml'); 
und die test xml schaut dann so aus


Code:
<?xml version='1.0' encoding='utf-8'?> 
<ROOTt> 
	<SUB>
		<subhead>
  		 <![CDATA[Headline 1!]]> 
		</subhead>

		<subcontent>
 			<![CDATA[1_Hier...<b>soll der Text stehen,</b>der HTML Format benötigt]]> 
		</subcontent>
	</SUB>
    <SUB>
		<subhead>
  		 <![CDATA[Headline2 !]]> 
		</subhead>

		<subcontent>
 			<![CDATA[2_Hier...<b>soll der Text stehen,</b>der HTML Format benötigt]]> 
		</subcontent>
	</SUB>
	<SUB>
		<subhead>
  		 <![CDATA[Headline3 !]]> 
		</subhead>

		<subcontent>
 			<![CDATA[3_Hier...<b>soll der Text stehen,</b>der HTML Format benötigt]]> 
		</subcontent>
	</SUB>

</ROOT>
__________________
gruß bloba

2 x onkel² b_d

Geändert von bloba (14-04-2006 um 22:56 Uhr)
bloba ist offline   Mit Zitat antworten
Alt 14-04-2006, 23:05   #5 (permalink)
ActionStripper
 
Benutzerbild von Mr.Twister
 
Registriert seit: Nov 2001
Ort: Oldenburg
Beiträge: 3.275
okay, danke bloba.
wie ich sehe, hast du die xml-struktur umgebaut.
die neue struktur bietet den vorteil, daß ich auf jeden fall den titel vom text getrennt halte und er nicht - wie bisher - durch das fehlende CDATA zusammenrutscht.

Nun bleibt allerdings die frage, wie ich die CDATA informationen speichern kann.
wenn ich per php die (ggf. geänderte) xml-struktur speichern möchte, benötige ich ja nach wie vor die CDATA-tags, die es aber ja offensichtlich nach dem einlesen in flash nicht mehr gibt.
__________________
Design ist AUCH Geschmackssache.
Mr.Twister ist offline   Mit Zitat antworten
Alt 15-04-2006, 00:54   #6 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
CDATA-Infos kann Flash nicht selbst einbauen, da solltest du das XML-Objekt in einen String konvertieren und die CDATA-Sequenzen mit String-Methoden integrieren. Der Flash-Player unterstützt nur nodeTypes vom Typ ELEMENT_NODE und TEXT_NODE, aber keine vom Typ CDATA_SECTION_NODE.
  Mit Zitat antworten
Alt 15-04-2006, 00:55   #7 (permalink)
Achim Math.PI
 
Benutzerbild von bloba
 
Registriert seit: Jul 2001
Ort: cool Colonia
Beiträge: 11.642
du hast doch voher auch das cdata obj verwendet....
daher ändert sich nichts an dem php code, bis darauf, dass du die xml strucktur die ich erstellt habe im php anpassen musst
__________________
gruß bloba

2 x onkel² b_d

Geändert von bloba (15-04-2006 um 00:57 Uhr)
bloba ist offline   Mit Zitat antworten
Alt 15-04-2006, 10:23   #8 (permalink)
ActionStripper
 
Benutzerbild von Mr.Twister
 
Registriert seit: Nov 2001
Ort: Oldenburg
Beiträge: 3.275
@blobla:
also mit php erstelle ich gar keine xml-struktur.
php benutze ich lediglich dazu, den text einer xml-datei zu löschen und den neuen text von flash da wieder reinzuschreiben.
das php-script ist also nur ein text-speicher-script.
Aber natürlich hast du recht: deine neue xml-struktur funktioniert natürlich mindestens genauso gut. Bis auf das die XML-Datei dann etwas größer wird, aber die Vorteile liegen dennoch auf der Hand.

@agedoubleju:
nun gehen wir davon aus, daß ich zwanzig CDATA-tags in meiner xml-struktur liegen habe, ich ändere aber nur ein einziges wort und möchte die gesamte xml-struktur nun erneut speichern.
wenn ich soetwas mache wie "speichere(mx_xml.toString())" geht es natürlich nicht.
müsste ich flash dazu bringen, ersteinmal alle childnodes mit for-schleifen zu durchlaufen, damit flash überall die benötigten CDATA-Zeichen dazwischensetzt?
Das wäre ja der hammer!
Macht das jeder so, der mit CDATA arbeitet?
Ist ja wirklich mehr als umständlich.

Oder wie genau meinst du das?

danke schonmal!
__________________
Design ist AUCH Geschmackssache.
Mr.Twister ist offline   Mit Zitat antworten
Alt 15-04-2006, 14:35   #9 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Macht das jeder so, der mit CDATA arbeitet?
Tja, ist leider so, die Dekodierung von CDATA-Sequenzen erfolgt im Player automatisch, die Kodierung leider gar nicht.

Geändert von agedoubleju (15-04-2006 um 18:53 Uhr)
  Mit Zitat antworten
Alt 15-04-2006, 17:04   #10 (permalink)
ActionStripper
 
Benutzerbild von Mr.Twister
 
Registriert seit: Nov 2001
Ort: Oldenburg
Beiträge: 3.275
ohjeohje.
okay, danke - dann weiß ich aber schonmal bescheid.
__________________
Design ist AUCH Geschmackssache.
Mr.Twister ist offline   Mit Zitat antworten
Alt 16-04-2006, 09:52   #11 (permalink)
ActionStripper
 
Benutzerbild von Mr.Twister
 
Registriert seit: Nov 2001
Ort: Oldenburg
Beiträge: 3.275
Hallo nochmal,
also ich habe nun versucht, um meine gewünschten Nodes das CDATA-tag zu schreiben, aber wenn ich zum beispiel

PHP-Code:
trace("<![CDATA["+active_xml.firstChild.childNodes[0]+"]]> "
angucken möchte, sehe ich nichts von meinen spitzen und eckigen klammern und kein ausrufungszeichen sondern nur "CDATAmeinText".

Das nervt irgendwie :-(

Dabei möchte ich doch blos einen HTML-Text in eine XML-Struktur speichern.
*verzweifel*
__________________
Design ist AUCH Geschmackssache.
Mr.Twister ist offline   Mit Zitat antworten
Alt 16-04-2006, 20:02   #12 (permalink)
Achim Math.PI
 
Benutzerbild von bloba
 
Registriert seit: Jul 2001
Ort: cool Colonia
Beiträge: 11.642
kannst du doch machen....das cdata object sleber hat doch mit deinem inhalts etxt nichts zu tun, geschweige mit der formatierung dessen.....


dh.. wenn du des cdata ob so anlegst kannst du wunder bar html text verwenden:
Code:
<node>
	<![CDATA[ <font color="#00FF00">headline</font>
		<p>&nbsp;</p>
	<p><font color="#666666" size="6">test text</font><font color="#0099CC" size="6">e</font></p>
	<p><font color="#0099CC">http://www.deinedomain.de</font></p>
	<p>&nbsp;</p>
	]]>
</node>
__________________
gruß bloba

2 x onkel² b_d
bloba ist offline   Mit Zitat antworten
Alt 16-04-2006, 21:02   #13 (permalink)
ActionStripper
 
Benutzerbild von Mr.Twister
 
Registriert seit: Nov 2001
Ort: Oldenburg
Beiträge: 3.275
tj,a ich verstehe nicht ganz, was du mir nun damit sagen möchtest.
wenn ich so ein node in meiner xml-struktur stehen habe, kann ich sie trotzdem nicht so abspeichern.
__________________
Design ist AUCH Geschmackssache.
Mr.Twister ist offline   Mit Zitat antworten
Alt 17-04-2006, 01:55   #14 (permalink)
notzucht
 
Benutzerbild von shorty
 
Registriert seit: Nov 2003
Ort: Potsdam
Beiträge: 2.939
hier die lösung, im richtigen bereich

klick

lg,
shorty
__________________
.
Flex in a week | Viertel vor halb nach Vollmond | ^^°.°^^ | Waltz with Bashir
.
shorty ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 22:57 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele