What is the recommended way of parsing an XML feed with multiple namespaces with ActionScript 3.0?
Posted
by dafko
on Stack Overflow
See other posts from Stack Overflow
or by dafko
Published on 2010-04-27T22:05:51Z
Indexed on
2010/04/27
22:13 UTC
Read the original article
Hit count: 236
I have seen the following methods to be used in several online examples, but haven't found any documentation on the recommended way of parsing an XML feed.
Method 1:
protected function xmlResponseHandler(event:ResultEvent):void
{
var atom:Namespace = new Namespace("http://www.w3.org/2005/Atom");
var microsoftData:Namespace = new Namespace("http://schemas.microsoft.com/ado/2007/08/dataservices");
var microsoftMetadata:Namespace = new Namespace("http://schemas.microsoft.com/ado/2007/08/dataservices/metadata");
var ac:ArrayCollection = new ArrayCollection();
var keyValuePairs:KeyValuePair;
var propertyList:XMLList = (event.result as XML)..atom::entry.atom::content.microsoftMetadata::properties;
for each (var properties:XML in propertyList)
{
keyValuePairs = new KeyValuePair(properties.microsoftData::FieldLocation, properties.microsoftData::Locationid);
ac.addItem(keyValuePairs);
}
cb.dataProvider = ac;
}
Method 2:
protected function xmlResponseHandler(event:ResultEvent):void
{
namespace atom = "http://www.w3.org/2005/Atom";
namespace d = "http://schemas.microsoft.com/ado/2007/08/dataservices";
namespace m = "http://schemas.microsoft.com/ado/2007/08/dataservices/metadata";
use namespace d;
use namespace m;
use namespace atom;
var ac:ArrayCollection = new ArrayCollection();
var keyValuePairs:KeyValuePair;
var propertyList:XMLList = (event.result as XML)..entry.content.properties;
for each (var properties:XML in propertyList)
{
keyValuePairs = new KeyValuePair(properties.FieldLocation, properties.Locationid);
ac.addItem(keyValuePairs);
}
cb.dataProvider = ac;
}
Sample XML feed:
<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<feed xml:base="http://www.test.com/Test/my.svc/" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom">
<title type="text">Test_Locations</title>
<id>http://www.test.com/test/my.svc/Test_Locations</id>
<updated>2010-04-27T20:41:23Z</updated>
<link rel="self" title="Test_Locations" href="Test_Locations" />
<entry>
<id>1</id>
<title type="text"></title>
<updated>2010-04-27T20:41:23Z</updated>
<author>
<name />
</author>
<link rel="edit" title="Test_Locations" href="http://www.test.com/id=1" />
<category term="MySQLModel.Test_Locations" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
<content type="application/xml">
<m:properties>
<d:FieldLocation>Test Location</d:FieldLocation>
<d:Locationid>test0129</d:Locationid>
</m:properties>
</content>
</entry>
<entry>
<id>2</id>
<title type="text"></title>
<updated>2010-04-27T20:41:23Z</updated>
<author>
<name />
</author>
<link rel="edit" title="Test_Locations" href="http://www.test.com/id=2" />
<category term="MySQLModel.Test_Locations" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
<content type="application/xml">
<m:properties>
<d:FieldLocation>Yet Another Test Location</d:FieldLocation>
<d:Locationid>test25</d:Locationid>
</m:properties>
</content>
</entry>
</feed>
© Stack Overflow or respective owner