Flashhilfe.de - Flash Community

XML text CSS formatieren [Flash MX 2004]

 


AntwortenRegistrieren Seite1 2  

derFloh#1
Benutzerbild von derFloh
Beiträge: 992
Wohnort: ..::LAGE::..
Registriert: Apr 2006

12.01.2007, 19:59

Hallo
ich habe dir Frage vorhin schon mal gestellt ( http://flashhilfe.de/forum/flash-im-www/undefined-bei-xml-ausgabe-196370-196370.html#196515 ). Ich mache jetzt aber mal ein neues Thema auf...

Leider schaffe ich es immer noch nicht den Text mit CSS zu formatieren. Ich bekomme immer nur Fehlermeldungen. Ich verstehe die Syntax dabei einfach nicht.
Weiß mir da jemand zu helfen?

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
.headline {
   
font-familyVerdanaArialHelveticasans-serif;
   
font-size40px;
   
color#000000;
   
font-weightbold;
   
line-height30px;
}

.
infos {
   
font-familyVerdanaArialHelveticasans-serif;
   
font-size16px;
   
color#000000;
   
font-weightnormal;
   
line-height20px;
}
?>


ActionScript:
1
2
3
4
5
6
7
var styleObj = new TextField.StyleSheet();
styleObj.load("styles.css");
styleObj.onLoad = function (geladen) {
    if(geladen) {
      trace("CSS wurde vollständig geladen");
   }
}


ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
      varXML = new XML();
      varXML.onLoad = meineXML;
      varXML.load("news.xml");
      MC.t.text = "";
      function meineXML() {
          A = new XML();
          B = new XML();
          ary_01 = new Array();
          ary_02 = new Array();
   
          A = this.firstChild.nextSibling;
          MC.meinTxt.text = A.nodeName.toUpperCase();
          ary_01 = A.childNodes;
   
          for (i=0; i<ary_01.length; i++) {
              ary_02= ary_01[i].childNodes;
              for (j=0; j<=ary_02.length; j++) {
                  B = ary_02[j];
                  tag = B.nodeName.toLowerCase();
           
                  if (tag == "headline") {
                      MC.t.text = MC.t.text+B.firstChild.nodeValue+ "\n";
                  } else {
               
                      if (tag == "infos1") {
                          MC.t.text = MC.t.text+B.firstChild.nodeValue+"\n";
                      } else {
                   
                          if (tag == "infos2") {
                              MC.t.text = MC.t.text+B.firstChild.nodeValue+"\n\n";
                          }
                      }
                  }
              }
          }
      }




Danke schonmal
flo

www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring
burnZ#2
Benutzerbild von burnZ
Beiträge: 2827
Wohnort: Bayern
Registriert: Aug 2005

12.01.2007, 20:30

Also ich mein vorallem, du solltest den Text erst zuweisen wenn die CSS geladen wurde. Schau mal hier: http://flashhilfe.de/forum/tipps-tricks/as2-0-klasse-ticker-0-2-beta-196526-196526.html

verwendet auch das StyleSheet Objekt auf Textfelder!

derFloh#3
Benutzerbild von derFloh
Beiträge: 992
Wohnort: ..::LAGE::..
Registriert: Apr 2006

Themenautor/in

12.01.2007, 20:45

hmmm.... das ist natürlich sehr umfangreich. so richtig blicke ich bei dem script nicht durch zumal ich mich noch nicht so richtig an AS2 rantraue.
Ich hatte mir aber auch noch einen anderen Beitrag durchgelesen:
http://flashhilfe.de/forum/tipps-tricks/as-2-0-beispiele-95798-95798.html

Aber das funktioniert irgendwie nicht. Ich werde das script gleich mal so umbauen, dass die CSS vorher geladen wird... wies dann weiter geht weiß ich aber nicht.

Aber danke schonmal
flo

www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring
derFloh#4
Benutzerbild von derFloh
Beiträge: 992
Wohnort: ..::LAGE::..
Registriert: Apr 2006

Themenautor/in

14.01.2007, 21:13

hallo,
verzeiht mir dass ich wieder frage, aber ich komme einfach nicht weiter hiermit.
ich hoffe ihr findet einen fehler...
ist das syteObj dem text nicht richtig zugeordnet?
ActionScript:
1MC.t.styleSheet = _global.styleObj;

oder ist diese zeile falsch?
ActionScript:
1MC.t.text = "<headline>" + MC.t.text+B.firstChild.nodeValue + "</headline>" + "\n";


ich kann leider nichts im forum finden, was ein ähnliches problem erklärt...

flo

www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring

Angehängte Dateien:
Adobe Flash Quelldatei 3.fla64.00 KB
burnZ#5
Benutzerbild von burnZ
Beiträge: 2827
Wohnort: Bayern
Registriert: Aug 2005

14.01.2007, 23:00

ui wenn du ne klasse definierst (.headline) muss es <span class="headline"></span> lauten! (span is nur beispiel)

derFloh#6
Benutzerbild von derFloh
Beiträge: 992
Wohnort: ..::LAGE::..
Registriert: Apr 2006

Themenautor/in

14.01.2007, 23:09

hmmm... ich hatte das schon mal probiert, aber immer fehlermeldungen bekommen wie z.B.  (Auf Operator '=' muss ein Operand folgen) oder andere syntaxfehler
Vieleicht hab ich die span-class auch nur falsch angewand.

gibt es denn vl. eine andere lösung dafür? außer dass ich viele verschiedene textfelder untereinander (eins für die headline, ...) auf die bühne bringe...

ist schon irgenwie komisch.

www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring
burnZ#7
Benutzerbild von burnZ
Beiträge: 2827
Wohnort: Bayern
Registriert: Aug 2005

14.01.2007, 23:12

Wieso sollte es in einem String zu einem Syntaxfehler kommen?! Das is aber Quatsch...

Abgesehen davon musst du HTML Text setzen!

ActionScript:
1
2
MC.t.html = true;
MC.t.htmlText = "<span class=\"headline\">" + MC.t.text+B.firstChild.nodeValue + "</span>" + "\n";


derFloh#8
Benutzerbild von derFloh
Beiträge: 992
Wohnort: ..::LAGE::..
Registriert: Apr 2006

Themenautor/in

14.01.2007, 23:25

ne. klappt wieder nicht...
ich bekomme zwar keine fehlermeldung mehr, aber die formatierung wird nicht übernommen...

hier mal die nötigen daten, wenn jemand helfen will
http://heimatdesign.com/ordner.rar

gruß

www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring
burnZ#9
Benutzerbild von burnZ
Beiträge: 2827
Wohnort: Bayern
Registriert: Aug 2005

15.01.2007, 12:28

Leider finde ich den Beitrag von Sebastian nicht mehr, indem er neue Funktionen in Flash8 vorgestellt hat. Da gibts auch Sachen zu lesen die man bei StyleSheet beachten sollte.

aber in der example1 und 2 müsste der Link drinnestehen (in meinem Ticker) relativ weit oben!

derFloh#10
Benutzerbild von derFloh
Beiträge: 992
Wohnort: ..::LAGE::..
Registriert: Apr 2006

Themenautor/in

15.01.2007, 14:27

hey burnZ,
ich werd mir das dann nach der arbeit nochmal anschauen. der einzige beitrag von sebastian der passen könnte wäre vl dieser hier:
http://flashhilfe.de/forum/tipps-tricks/as-2-0-beispiele-95798-95798.html
unter den flashkursen > mx2004 > as2 beispiele

den hatte ich schon angeschaut, aber demnach müsste das script "eigentlich" richtig sein.
hmmm... naja. vl weiß ja einer der moderatoren bescheit

vielen dank jedenfalls schonmal an alle!

flo

www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring
derFloh#11
Benutzerbild von derFloh
Beiträge: 992
Wohnort: ..::LAGE::..
Registriert: Apr 2006

Themenautor/in

15.01.2007, 21:32

hmmm...
ich habs jetzt wie in deinem script mit einem internen stylesheet objekt versucht
ActionScript:
1news.css = '.schlagzeile {font-family: Arial; color:#339900;}';

aber wenn ich die ausgabe wie gehabt zwischen die span-tags schreibe bekomme ich trotzdem keine formatierung.
ActionScript:
1MC.t.htmlText = "<span class=\"schlagzeile\">" + MC.t.text+B.firstChild.nodeValue + "</span>" + "\n";

Muss ich das mit einem stylesheet objekt anders schreiben?

ich hab mir auch schon alles in der flash-referenz durchgelesen, aber trete echt auf der stelle. bei meiner neuen seite kann ich leider nicht auf die news verzichten, sonst würde ich euch in ruhe lassen...
sorry

www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring
ToBSn#12
Benutzerbild von ToBSn
Beiträge: 299
Wohnort: Ingolstadt a. d. schönen Donau
Registriert: May 2003

16.01.2007, 01:53

Nunja, irgendwie ganz schön umständlich...
ChildNodes sind bereits Arrays, für was die Umwandelerei.

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import TextField.StyleSheet;
var styles:TextField.StyleSheet = new TextField.StyleSheet();
styles.setStyle("headline", {fontFamily:'Verdana', fontSize:'40px', color:'#333333', fontWeight:'bold'});
styles.setStyle("infos1", {fontFamily:'Trebuchet MS', fontSize:'20px', color:'#999999'});
styles.setStyle("infos2", {fontFamily:'Courier New', fontSize:'16px', color:'#FF0000'});
//
var txt = this.createTextField("tF", this.getNextHighestDepth(), 0, 0, 300, 100);
txt.html = true;
txt.multiline = true;
txt.wordWrap = true;
txt.autoSize = true;
txt.styleSheet = styles;
//
var str:String = "";
str += "<myData>";
str += "<headline>headline1</headline>";
str += "<infos1>erste infozeile</infos1>";
str += "<infos2>zweite infozeile</infos2>";
str += "</myData>";
str += "<myData>";
str += "<headline>headline2</headline>";
str += "<infos1>infozeile....</infos1>";
str += "<infos2>infozeile....</infos2>";
str += "</myData>";
//
var XMLhtml:XML = new XML();
XMLhtml.ignoreWhite = true;
XMLhtml.parseXML(str);
//
for (var node:XMLNode = XMLhtml.firstChild; node != null; node=node.nextSibling) {
   txt.htmlText += node + "

"
;
}


Grüße ToBSn

Gruss ToBSn
derFloh#13
Benutzerbild von derFloh
Beiträge: 992
Wohnort: ..::LAGE::..
Registriert: Apr 2006

Themenautor/in

16.01.2007, 09:56

hmmm.... ok da hast du recht.
ich kanns jetzt leider nicht testen, aber ich melde mich später dazu. vielen dank erstmal!!!!

gruß
derFloh

www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring
derFloh#14
Benutzerbild von derFloh
Beiträge: 992
Wohnort: ..::LAGE::..
Registriert: Apr 2006

Themenautor/in

16.01.2007, 14:03

hmm... ok,
ich arbeite jetzt mit internen stylesheets... erstelle mir dann ein textfeld, und dann? wofür schreibe ich jetzt den kompletten inhalt der xml in die flashdatei?
ActionScript:
1
2
3
4
5
6
7
var str:String = "";
str += "<myData>";
str += "<headline>headline1</headline>";
str += "<infos1>erste infozeile</infos1>";
str += "<infos2>zweite infozeile</infos2>";
str += "</myData>";
...



dann muss ich diese ja immer mitändern... oder hab ich das script nicht verstanden?

gruß
derfloh

www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring
ToBSn#15
Benutzerbild von ToBSn
Beiträge: 299
Wohnort: Ingolstadt a. d. schönen Donau
Registriert: May 2003

16.01.2007, 14:35

Hallo Flo,

du kannst dein CSS und das XML natürlich wieder extern laden.

Ich habe das Script nur zur Demo so aufgebaut das man es nachvollziehen kann.

Grüße ToBSn

Gruss ToBSn
derFloh#16
Benutzerbild von derFloh
Beiträge: 992
Wohnort: ..::LAGE::..
Registriert: Apr 2006

Themenautor/in

16.01.2007, 15:11

hi,
ok gut!
Eine Frage noch: wie ist die Ausgabe hier aufgebaut? Mit dem " += " (txt.htmlText +=) weiß ich gerade nicht viel anzufangen, weil wir in der for-schleife doch schon die knotenpunkte durchlaufen.

kann ich die texte dann nicht so ausgeben? (ich schreibe das gerade ohne es testen zu können, sorry)
ActionScript:
1txt.htmlText = "<span class=\"headline\">" + node + "</span>" + "\n";


danke dir für deine mühen!
flo

www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring

AntwortenRegistrieren Seite1 2  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2020 Sebastian Wichmann - Flashhilfe.de