×
Namespaces

Variants
Actions
Revision as of 00:17, 31 May 2007 by soueldi (Talk | contribs)

Archived:How to load and parse XML files

From Nokia Developer Wiki
Jump to: navigation, search


Compatibility: Flash Lite 2.x

We will be using this basic XML document:

<myPhone>
<modelName>Nokia N73</modelName>
<screen>
<height>240</height>
<width>320</width>
</screen>
<cpu>
<type>ARM 9</type>
<clock_rate>220</clock_rate>
</cpu>
</myPhone>


Contents

Loading XML files

This following script load an XML file:

// create a new XML object
var myPhoneXML = new XML();
 
//Text nodes that contain only white space are discarded
myPhoneXML.ignoreWhite = true;
 
// define the onload handler
myPhoneXML.onLoad = function(success) {
if (success) {
trace("XML loaded");
} else {
trace("Loading failed");
}
};
 
// load the XML file into the myPhoneXML object
myPhoneXML.load("myPhone.xml");
  • The load() method on the XML object allows you to download data from a remote host.
  • When the data is finished downloading, the onLoad event of the XML object occurs.

XML Navigation

  • firstChild: The first child in the parent node's child list
trace(myPhoneXML.firstChild);
// Output: <myPhone>[...]</myPhone>
 
trace(myPhoneXML.firstChild.firstChild);
// Output: <modelName>[...]</modelName>


  • lastChild: The last child in the parent node's child list
trace(myPhoneXML.firstChild.lastChild);
// Output: <cpu>[...]</cpu>


  • nextSibling: The next node in the parent node's child list
trace(myPhoneXML.firstChild.firstChild.nextSibling);
// Output: <screen>[...]</screen>


  • previousSibling: The previous node in the parent node's child list


Xml nav.jpg


Getting nodes value

  • This example check the <clock_rate> node value:
trace(myPhoneXML.firstChild.lastChild.lastChild.firstChild.nodeValue);
// Output: 220


  • Another example using user XMLNode objects to get the screen resolution
var screenNode:XMLNode = myPhoneXML.firstChild.firstChild.nextSibling;
 
trace("Resolution: " + screenNode.firstChild.firstChild.nodeValue + " x " +
screenNode.lastChild.firstChild.nodeValue);
// Output: Resolution: 240 x 320
  • Another example by iterating through the child nodes
for (var aNode:XMLNode = myPhoneXML.firstChild.firstChild.nextSibling.firstChild;aNode != null;aNode=aNode.nextSibling) {
trace(aNode.firstChild.nodeValue);
}
// Output: 240
// 320

Download

You can download an example with source code here:

This Flash Lite 2.x application get and show informations about the 5 five lastest Nokia devices. It use RSS feeds and XML Flash Lite methods. Latest_Nokia_Devices_240*320.zip
Nokia Latest Devices.jpg

103 page views in the last 30 days.
×