我想可以从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