将XML加载到Flex AS3中
我试图从一个XML文档中加载所有XML数据,但即使进行了研究,整个晚上都失败了 下面是我尝试加载的XML片段:将XML加载到Flex AS3中,xml,actionscript-3,apache-flex,loader,Xml,Actionscript 3,Apache Flex,Loader,我试图从一个XML文档中加载所有XML数据,但即使进行了研究,整个晚上都失败了 下面是我尝试加载的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</i
<?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>
首先,你应该看一看。第二:你到底想做什么
最后一行可以更改为
this.docXML.ATOM::entry.content..NAESB::interval.length()
,但我不确定您真正想从xml文档中得到什么。获取节点的长度对于从xml文件中获取实际数据不是很有用 感谢frankhermes和www.Flextras.com帮助我学习,答案是为了继续遍历,需要在xml中添加另一个ATOM名称空间以继续遍历
var entries = this.docXML.ATOM::entry;
trace(entries[3].content.length());
应该是
var entries = this.docXML.ATOM::entry;
trace(entries[3].ATOM::content.length());
很抱歉,你在这项任务中失败了。你能告诉我们你为什么失败吗?有什么问题?你有运行时错误吗?还是别的什么?我错过了您共享加载XML的代码的部分了吗?没有错误,只是不允许我访问标记IntervalBlock中嵌套的xmlns,这样我就可以读取嵌套在该标记中的时间/能量使用情况,因为我正试图为任何人都可以使用的应用程序创建该标记,所以我不能删除xmlns标记,因为这些数据是真实的美国能源公司以标准格式提供您的主题行声称问题在于加载数据;但听起来您的问题是在加载数据后访问数据。对吗?您说“它不允许您访问嵌套的XMLN?什么不允许?您的XML没有任何特殊的名称空间项;但看起来您试图访问它们就像它们在名称空间中一样。它允许我查看它,就是这样;如果我进行跟踪(this.docXML.ATOM::entry);if将解析所有内容,但无法访问事件之外的任何标记,即使flex愿意查看它,除非在XMLI中我试图实际访问条目标记内的数据;使用名称空间类,我能够访问条目类,但似乎无法让名称空间类让我访问任何内容条目类的de…但是如果我要跟踪(条目[3]);它读取整个xml文档。我的问题是,由于这些数据是电气公司提供的信息,如果我希望其他人使用我的应用程序,我无法更改他们的数据,因此我尝试访问interval标记以使用其中的数据,但由于它嵌套在另一个XMLN中,我似乎无法获得访问权限。我感觉它必须处理t他是独一无二的
var entries = this.docXML.ATOM::entry;
trace(entries[3].ATOM::content.length());