我想可以從XML文檔加載所有的XML數據,並已經失敗了一夜就可以了,甚至有研究加載XML到Flex AS3
這裏是XML我試圖加載的片段:
<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<id>urn:uuid:5762c9e8-4e65-3b0c-83b3-7874683f3dbe</id>
<link href="/v1/espi_third_party_batch_feed" rel="self">
</link>
<title type="text">Opower ESPI Third Party Batch Feed v1</title>
<updated>2012-04-03T22:55:36.364Z</updated>
<entry>
<id>urn:uuid:baa6a50a-1306-3680-80a4-51d228db8f25</id>
<link href="/v1/User/3560606/UsagePoint/6403112/MeterReading/1/IntervalBlock/1" rel="self">
</link>
<content type="xml">
<IntervalBlock xmlns="http://naesb.org/espi">
<interval>
<duration>3600</duration>
<start>1299128400</start>
</interval>
<IntervalReading>
<timePeriod>
<duration>3600</duration>
<start>1299128400</start>
</timePeriod>
<value>436</value>
</IntervalReading>
</IntervalBlock>
</content>
</entry>
</feed>
下面是AS3的代碼,我在XmlLoader不解的一個片段:
public function returnArray():Array
{
var ATOM:Namespace = new Namespace("http://www.w3.org/2005/Atom");
var NAESB:Namespace = new Namespace("http://naesb.org/espi");
trace("entered returnArray");
var tempArray:Array = new Array();
var x:Number = 0;
var y:Number = 0;
var entries = this.docXML.ATOM::entry;
trace(entries.length()); //returns 4 and supposed to
trace(entries[3].content.length()); //returns 0 supposed to return 1
trace(this.docXML.ATOM::entry[3].content.NAESB::interval.length()); //returns 0`enter code here`
對不起,您在此任務中失敗。你能告訴我們爲什麼/你如何失敗?問題是什麼?你有運行時錯誤嗎?或者是其他東西?我錯過了分享載入XML的代碼的部分嗎? – JeffryHouser
沒有錯誤,它只是不允許我訪問標籤IntervalBlock中的嵌套xmlns,以便我可以讀取嵌套在該標籤內的時間/能量使用情況,並且因爲我正在嘗試爲any1可以使用的應用程序由於這些數據是由美國能源公司提供的標準格式,因此不能刪除xmlns標籤 –
您的主題行聲稱此問題是加載數據;但它聽起來像你的問題是加載後訪問數據。那是對的嗎?你說「它不允許你訪問嵌套的xmlns?什麼不是?你的XML沒有任何特殊的命名空間項目,但它看起來像你試圖訪問它們,就好像它們在命名空間中一樣。 – JeffryHouser