Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-09-2004, 12:35   #1 (permalink)
Flashtestdummy
 
Benutzerbild von Alex_R
 
Registriert seit: Mar 2003
Beiträge: 153
Encoden von "&" zu "&"?

hi

ich hänge gerade an einem kleinem problemchen. ich lese aus einem XML file eine URL aus. diese beinhaltet jedoch ein "&", was flash als "&" einliest, wenn ich jetzt mit getURL auf diese URL springe funktioniert das logischweise nicht.

kennt einer eventuell einen weg, wie ich flash sage, das es jedes "&" auch als "&" einliest und nicht als "&". gerade wenn ich es dann als getURL benutze wäre das wichtig.

ps. wenn ich die url nur anzeige funktioniert das bestens, man kann ja einem textfeld die eigenschaft -> als HTML text darstellen geben, nur dass hilft mir nicht weiter.

nochmal ps. auch änderungen an dem xml file sind nicht möglich.

vielen dank schonmal
Alex_R ist offline   Mit Zitat antworten
Alt 23-09-2004, 12:40   #2 (permalink)
loslassen!
 
Benutzerbild von fetch
 
Registriert seit: Apr 2002
Beiträge: 260
Hi,


mit System.useCodePage = true; ins erste frame müsste es gehen.

Aber ich hab auch schonmal die erfahrung gemacht das man die xml-datei als utf8 abspeichern muss.

Gruß

Fetch
fetch ist offline   Mit Zitat antworten
Alt 23-09-2004, 12:48   #3 (permalink)
Flashtestdummy
 
Benutzerbild von Alex_R
 
Registriert seit: Mar 2003
Beiträge: 153
es geht um folgendes XML file:

http://www.roadrunnerrecords.com/bla...t/newsfeed.xml

des ist schon als utf-8 abgespeichert. mit dem system codepage geht es auch nicht. ziemlich merkwürdig.
Alex_R ist offline   Mit Zitat antworten
Alt 23-09-2004, 13:24   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Du musst Sonderzeichen in XML-Files grundsätzlich in CDATA-Sequenzen verpacken, damit das einlesende Script nicht versucht, die Zeichen in HTML-Sequenzen zu ändern. CDATA-Sequenzen funktionieren allerdings leider nicht in "schnellen" Attributen. Beispiel:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<link><![CDATA[<P ALIGN="LEFT"><FONT FACE="Arial" SIZE="17" COLOR="#000000"><a href='http://www.agedoubleju.de'><u>http://www.agedoubleju.de</u></FONT></P>]]></link>
  Mit Zitat antworten
Alt 23-09-2004, 13:40   #5 (permalink)
Flashtestdummy
 
Benutzerbild von Alex_R
 
Registriert seit: Mar 2003
Beiträge: 153
hmmm, das funktioniert mit der datei auf meiner platte, aber diedatei, die ich ja eigentlich einlesen möchte, kann ich ja gar nicht verändern.

gibt es den nicht die möglichkeit, das ich die URL, also den inhalt aus <link>, direkt auslese und nicht über HTML gehe. eventuell direkt in einen string schreibe, sodass er die zeichen einfach so nimmt wie sie halt da sind.

oder könnte ich eventuell in flash das zeichen "&amp;" gegen das zeichen "&" austauschen, während ich die URL einlese?

das ist total verwirrend, warum gibt es für so etwas nicht einen knopf, "read in correctly" oder so? =)
Alex_R ist offline   Mit Zitat antworten
Alt 23-09-2004, 14:48   #6 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Wenn du ein XML-File in ein XML-Objekt einliest solltest du es so machen, wie beschrieben. Das hat auch nicht unbedingt nur mit Flash zu tun. Umlaute und Sonderzeichen solltest du immer in CDATA-Sequenzen packen.

BTW: Wenn du das XML-File nicht ändern kannst, was nützt dir dann die ganze Dynamik? Dann kannst du die entsprechenden Daten ja auch statisch als Variablen ins Script übernehmen...
  Mit Zitat antworten
Alt 23-09-2004, 14:59   #7 (permalink)
Flashtestdummy
 
Benutzerbild von Alex_R
 
Registriert seit: Mar 2003
Beiträge: 153
hmm, das hast du recht. ich erklär mal, warum ich das ganze so machen möchte, vielleicht wird dann alles ein bischen klarer.

das obengenannte xml file ist eine news source. diese source wird permanent aktualisiert. standartmässig könnte ich diese daten auch mit einem rss reader auslesen. aber dann müsste ich ja wieder ein tool installieren und ausserdem hätte ich nichts gelernt. =) da die datenstruktur immer die gleiche bleibt, müsste es reichen, wenn ich sie einmal komplett auslese und anzeige. dann hätte ich mir quasi einen kleinen flashnewsreader gebastelt.

das auslesen und anzeigen funktioniert auch bestens. lediglich bei der url spinnt der rum. die url brauche ich ja dann eh bloß um auf den zugehörigen artikel springen zu können. aber wie schon gesagt er springt halt auf die falsche seite, weil er aus dem & ein &amp; macht, bzw. lässt.
Alex_R ist offline   Mit Zitat antworten
Alt 23-09-2004, 23:38   #8 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Hmm, es tut mir leid... Ich habe mal testhalber nur die Zeile mit dem link-tag in meinen XML-Editor eingelesen und der Parser sagt sofort, dass es kein wohlgeformtes Script ist. Deswegen hat auch der flash-interne Parser damit Probleme.

Die kannst du mit Flash aber nicht beheben. Dazu müsstest du z.B. ein Middleware-Script (z.B. PHP oder ASP) dazwischenschalten, das die XML-Daten mit unescape oder urldecode o.ä. zuerst einmal in eine lesbare Form bringt und in dieser Form dann an den Flashfilm weiterleitet.
  Mit Zitat antworten
Alt 23-09-2004, 23:44   #9 (permalink)
Neuer User
 
Registriert seit: Aug 2002
Beiträge: 302
noch eine zusätzlich info die allerdngs nicht unbedingt für diese thema interessant sien muss:
soviel ich weiss ist es das egal ob du das XMl in UTF-8 unicode ascii usw abspeicherst, flash interpretiert diese Daten immer in UTF-8!
fany ist offline   Mit Zitat antworten
Alt 24-09-2004, 00:42   #10 (permalink)
Neuer User
 
Benutzerbild von Xeef
 
Registriert seit: Sep 2004
Ort: Spain/Ibiza
Beiträge: 942
PHP-Code:
var flooring:XML = new XML();
flooring.ignoreWhite true;
flooring.onLoad = function(success) {
    
= (flooring.childNodes[0].childNodes[0].childNodes[5].childNodes[1].firstChild);
    
"&amp";
    
SearchDestroy(ab"&");
};
flooring.load("http://www.roadrunnerrecords.com/blabbermouth.net/newsfeed.xml");
//search in a for b and replace whit c
function SearchDestroy(abc) {
    
String(a).indexOf(b);
    
String(a).slice(0d);
    
String(a).slice(d+b.lengthString(a).length);
    
e+c+f;
    
trace("ORG: "+a);
    
trace("NEW: "+g);

__________________
Languages : (in the order of knowledge/preference)
Read: Flash AS, PHP, JS, Html, DHtml, Basic, C++, DOS, 3DMaxScript, English, Deutsch, Magyar, XML, Pascal, VB, Spanish
Write: Flash AS, Basic, PHP, JS, DHtml, Html, ..., C++, ...., ..., English, ..., ..., ..., ...., Deutsch, ..., Magyar

wen du mein deutsch nicht magst whele eine andere sparache von den obrigen ;)
Xeef ist offline   Mit Zitat antworten
Alt 24-09-2004, 01:04   #11 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
flash interpretiert diese Daten immer in UTF-8!
Nö, wenn du System.useCodepage = true setzt, wird die Unicode-Fähigkeit von Flash abgeschaltet...

@xeef: Nette Idee! Wie performant ist das bei größeren XML-Objekten, wo du die zu interpretierenden Werte dynamisch vorgibst? Hast du da Erfahrungswerte?
  Mit Zitat antworten
Alt 24-09-2004, 01:14   #12 (permalink)
Neuer User
 
Benutzerbild von Xeef
 
Registriert seit: Sep 2004
Ort: Spain/Ibiza
Beiträge: 942
[QUOTE=größeren XML-Objekten, wo du die zu interpretierenden Werte dynamisch vorgibst? Hast du da Erfahrungswerte?[/QUOTE]

he dinamische was ???

hab absolut keine ahnung uber server-side bin gerade dabei ein bischen flash zu lernen jave comt speter
__________________
Languages : (in the order of knowledge/preference)
Read: Flash AS, PHP, JS, Html, DHtml, Basic, C++, DOS, 3DMaxScript, English, Deutsch, Magyar, XML, Pascal, VB, Spanish
Write: Flash AS, Basic, PHP, JS, DHtml, Html, ..., C++, ...., ..., English, ..., ..., ..., ...., Deutsch, ..., Magyar

wen du mein deutsch nicht magst whele eine andere sparache von den obrigen ;)
Xeef ist offline   Mit Zitat antworten
Alt 24-09-2004, 01:17   #13 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
flooring.childNodes[0].childNodes[0].childNodes[5].childNodes[1].firstChild);
Das ist hier ja jetzt ein statisches Childobjekt. Was wäre, wenn du diese Childs jetzt über Suchfunktionen dynamisch raussuchen müsstest und dann ersetzen?
  Mit Zitat antworten
Alt 24-09-2004, 01:28   #14 (permalink)
Neuer User
 
Benutzerbild von Xeef
 
Registriert seit: Sep 2004
Ort: Spain/Ibiza
Beiträge: 942
O.O

suchen ???
ist das 2 mall das ich XML benutze das 1 mal vor 3-4 wochen
keine ahnung wie man da was suchen kan oder was man suchen kan

aber halt

das muste absolut egal sein
kanst ja nach &amp oder was auch immer suchen
soweit du es hast wandelst es um das heist der ganze rest bleibt gleich
ob statisch oder dynamisch
und wie lang das umwandeln dauert ? Hmmmm
kanst ja ausprobiren start=getTimer()....

p.s

weiss immer noch nicht wie dinamische aus sehen kanst mir ein beispil geben?
hoff du meinst nicht sowas wie :

PHP-Code:
SubName S_Data.childNodes[0].childNodes[a].childNodes[b].childNodes[c].nodeName;
                
Value S_Data.childNodes[0].childNodes[a].childNodes[b].childNodes[c].childNodes[0]; 
das war das einzige was ich mit XML gemach habe
__________________
Languages : (in the order of knowledge/preference)
Read: Flash AS, PHP, JS, Html, DHtml, Basic, C++, DOS, 3DMaxScript, English, Deutsch, Magyar, XML, Pascal, VB, Spanish
Write: Flash AS, Basic, PHP, JS, DHtml, Html, ..., C++, ...., ..., English, ..., ..., ..., ...., Deutsch, ..., Magyar

wen du mein deutsch nicht magst whele eine andere sparache von den obrigen ;)

Geändert von Xeef (24-09-2004 um 01:39 Uhr)
Xeef ist offline   Mit Zitat antworten
Alt 24-09-2004, 10:49   #15 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Normalerweise arbeitet man nicht mit diesen schlecht zu lesenden child-Objektstringen, sondern wandelt die XML-Objekte in Arrays um. Seit MX2004 ist es auch möglich, XPath einzusetzen und damit noch schneller auf die gewünschten Nodes und Childs zuzugreifen.

Ich frage mich nur ob es Sinn macht, deine Funktion einzusetzen und damit womöglich große XML-Objekte zu durchsuchen, oder das besser von einer XPath-Funktion erledigen zu lassen, oder besser noch, schon im Vorfeld ein "sauberes" XML-File einzulesen...
  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 10:55 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele