15.10.2012 Views

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ACTIONSCRIPT 3.0 ENTWICKLERHANDBUCH<br />

XML-Verarbeitung<br />

var myXML:XML =<br />

<br />

<br />

burger<br />

3.95<br />

<br />

<br />

fries<br />

1.45<br />

<br />

<br />

Häufig werden in einer Anwendung XML-Daten aus einer externen Quelle geladen, z. B. aus einem Webservice oder<br />

einem RSS-Feed. Aus Gründen der Übersichtlichkeit weisen die hier aufgeführten Codebeispiele XML-Daten jedoch<br />

als Literale zu.<br />

Wie im folgenden Codebeispiel dargestellt ist, enthält E4X einige intuitive Operatoren wie den Punktoperator (.) oder<br />

den Attributbezeichneroperator (@) für den Zugriff auf Eigenschaften und Attribute in XML:<br />

trace(myXML.item[0].menuName); // Output: burger<br />

trace(myXML.item.(@id==2).menuName); // Output: fries<br />

trace(myXML.item.(menuName=="burger").price); // Output: 3.95<br />

Mithilfe der appendChild()-Methode können Sie den XML-Daten einen neuen untergeordneten Knoten zuweisen,<br />

wie im folgenden Codeausschnitt dargestellt:<br />

var newItem:XML =<br />

<br />

medium cola<br />

1.25<br />

<br />

myXML.appendChild(newItem);<br />

Verwenden Sie die Operatoren @ und . nicht nur zum Lesen von Daten, sondern auch zum Zuweisen von Daten, wie<br />

im Folgenden dargestellt:<br />

myXML.item[0].menuName="regular burger";<br />

myXML.item[1].menuName="small fries";<br />

myXML.item[2].menuName="medium cola";<br />

myXML.item.(menuName=="regular burger").@quantity = "2";<br />

myXML.item.(menuName=="small fries").@quantity = "2";<br />

myXML.item.(menuName=="medium cola").@quantity = "2";<br />

Verwenden Sie wie folgt eine for-Schleife, um die XML-Knoten zu durchlaufen:<br />

var total:Number = 0;<br />

for each (var property:XML in myXML.item)<br />

{<br />

var q:int = Number(property.@quantity);<br />

var p:Number = Number(property.price);<br />

var itemTotal:Number = q * p;<br />

total += itemTotal;<br />

trace(q + " " + property.menuName + " $" + itemTotal.toFixed(2))<br />

}<br />

trace("Total: $", total.toFixed(2));<br />

Letzte Aktualisierung 27.6.2012<br />

106

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!