• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flex und AIR > Flex programmieren

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 05-08-2010, 16:07   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2009
Beiträge: 119
komplexere xml einlesen

Hallo zusammen,

ich möchte ein xml einlesen und zwar:

myXML:
Code:
<?xml version='1.0' encoding='utf-8'?>
<page width="993.0" height="1474.0" picture="C:\SN_2009-07-23_1_Titelseite.jpg" category="Titel" number="1">
<articles>
      	<article>
		<title>
			<block w="520.0" type="title" h="84.0" y="612.0" 
                                  x="225.0">Versüßen 250 Millionen Euro...
                        </block>
		</title>
		<subtitle>
			<block w="464.0" type="subtitle" h="14.0" y="710.0" 
                                  x="225.0">...soll den Sportwagenhersteller...  
                        </block>
		</subtitle>
		<body>
			<block w="172.0" type="bodytext" h="76.0" 
                                  y="739.0" x="225.0">Die Gerüchte verdichten. 
                        </block>
			<block w="173.0" type="bodytext" h="95.0" 
                                  y="853.0" x="225.0">Bereits gestern Abend..
                        </block>	
		</body>
	</article>
</articles>
</page>
es gibt ein artikel. da im artikel titel, untertitel und inhalt.
all diese blöcke möchte ich in separate textfelder oder TextAreas ausgeben. die blöcke müssen aber anhand der vorgegebenen koordinaten positioniert.

mein versuch:
Code:
public var myXML:XML;
private function initApp():void{
	var myLoader:URLLoader = new URLLoader();
	myLoader.load(new URLRequest("Titelseite.xml"));
	myLoader.addEventListener(Event.COMPLETE, processXML);
	function processXML(e:Event):void 	{
		myXML = new XML(e.target.data);
		//Alert.show(myXML.Word[2].Text);
		var textArray:Array = new Array();
		for (var i:int = 0; i< myXML.*.length(); i++) {
		      var textField:TextArea = new TextArea();
                      textField.text = myXML.article[i].title.block;
		      textField.setStyle("fontSize", 8.5);


                textField.x = Number(myXML.article[i].title.block.@x);
		textField.y = Number(myXML.article[i].title.block.@y); 
		textField.width = Number(myXML.article[i].title.block.@w);
		textField.height = Number(myXML.article[i].title.block.@h);

		addElement(textField);
		textArray.push(textField);
		}					
	}
}
mein problem ist, dass ich nicht genau weiß wie ich meine Daten aud dem xml anspreche.
hier:
Code:
 textField.text = myXML.article[i].title.block; FALSCH?
und hier
textField.x = Number(myXML.article[i].title.block.@x);
textField.y = Number(myXML.article[i].title.block.@y); 
textField.width = Number(myXML.article[i].title.block.@w);
textField.height = Number(myXML.article[i].title.block.@h);
kann bitte jemand helfen?

gruß,
Flo
f_mal ist offline   Mit Zitat antworten
Alt 05-08-2010, 16:26   #2 (permalink)
Neuer User
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.682
so:
ActionScript:
  1. var len:uint = myXML.articles.article.length();
  2. for(var i:uint=0; i<len; ++i){
  3.     var block:XML = XML(myXML.articles.article[i].title.block);
  4.  
  5.     textField.text = block;
  6.     textField.x = Number(block.@x);
  7.     textField.y = Number(block.@y);
  8.     textField.width = Number(block.@w);
  9.     textField.height = Number(block.@h);
  10. }
__________________
greetz Thomas
in letzter Zeit frag ich mich immer ofter, soll ich den Leuten bei ihren Problemen helfen, oder einfach nur die gestellten Fragen beantworten?
Ich kann die FLA-Datei nicht öffnen, ich habe noch kein CS5 !!!
thomas_E ist gerade online   Mit Zitat antworten
Alt 05-08-2010, 16:57   #3 (permalink)
Neuer User
 
Registriert seit: Jul 2009
Beiträge: 119
Hallo,

DANKE für deine schnelle Antwort.

habe gleich ausprobiert.
mein xml hat natürlich mehrere daten als ich hier dargestellt habe. leider bekomme ich nur den ersten block.

ich habe noch zusätzlich das hier eingebaut aber leider ohne erfolg:
Code:
var textField2:TextArea = new TextArea();
var blockSubtitle:XML = XML(myXML.articles.article[i].subtitle.block);
textField2.text = block;
textField2.x = Number(block.@x);
textField2.y = Number(block.@y);
textField2.width = Number(block.@w);
textField2.height = Number(block.@h);
			
addElement(textField2);
block.push(textField2);
ein problem habe ich noch mit dem block.push(textField2);
warnung: push ist keine erkannte Methode der dynamischen Klasse XML.

gruß,
Flo
f_mal ist offline   Mit Zitat antworten
Alt 05-08-2010, 18:10   #4 (permalink)
Neuer User
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.682
was genau versuchst du da zu machen?
wieso versuchst du eine TextArea in einen XML-Knoten einzufügen?

und wenn du die Variable blockSubtitle nennst, musst du auch über blockSubtitle.@x, etc, auf die Werte zugreifen, und nicht über block.@x.
__________________
greetz Thomas
in letzter Zeit frag ich mich immer ofter, soll ich den Leuten bei ihren Problemen helfen, oder einfach nur die gestellten Fragen beantworten?
Ich kann die FLA-Datei nicht öffnen, ich habe noch kein CS5 !!!
thomas_E ist gerade online   Mit Zitat antworten
Alt 06-08-2010, 10:54   #5 (permalink)
Neuer User
 
Registriert seit: Jul 2009
Beiträge: 119
hallo ...stimmt...sory...nicht aufgepasst.
es geht.

DANKE

gruß
Flo
f_mal 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
komplexere button animation david320i Flash Einsteiger 27 05-12-2006 17:34
Aqua-Tutorial für komplexere Flächen gesucht Questor Bitmap-Programme 0 19-12-2005 13:51
komplexere drag&drop geschichte Clemenses ActionScript 1 8 26-08-2004 12:24
komplexere Variablen richtig ausgeben? Chrilli ActionScript 1 5 02-08-2002 11:29
Wie und womit erstelle ich komplexere 3d Drahtgitteranimationen Real Flash 4 und Flash 5 1 10-07-2001 15:14


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

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


Copyright ©1999 – 2012 Marc Thiele