Archived:How to load and parse XML files
Archived: This article is archived because it is not considered relevant for third-party developers creating commercial solutions today. If you think this article is still relevant, let us know by adding the template {{ReviewForRemovalFromArchive|user=~~~~|write your reason here}}.
We do not recommend Flash Lite development on current Nokia devices, and all Flash Lite articles on this wiki have been archived. Flash Lite has been removed from all Nokia Asha and recent Series 40 devices and has limited support on Symbian. Specific information for Nokia Belle is available in Flash Lite on Nokia Browser for Symbian. Specific information for OLD Series 40 and Symbian devices is available in the Flash Lite Developers Library.
We do not recommend Flash Lite development on current Nokia devices, and all Flash Lite articles on this wiki have been archived. Flash Lite has been removed from all Nokia Asha and recent Series 40 devices and has limited support on Symbian. Specific information for Nokia Belle is available in Flash Lite on Nokia Browser for Symbian. Specific information for OLD Series 40 and Symbian devices is available in the Flash Lite Developers Library.
Article Metadata
Compatibility
Platform(s): Flash Lite 2.x
Article
Created: soueldi
(31 May 2007)
Last edited: hamishwillee
(14 May 2013)
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>
Loading XML files
This following script loads 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 has finished downloading, the onLoad event of the XML object occurs.
- 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
Getting nodes value
- This example checks 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



This application fails when trying to establish a network connection on the N95 (FL 2.0)
It may be failing to load the XML depending uopn the publish settings. If the file is published to use the local files only, it won't load the internet files. If you want to load the network file, you must publish it with 'Use network files' settings. Yet this is good article to get started with the using the XML files in FlashLite. It also explains the sliblings XML structure in a good diagramtic manner.