来自 Obix 的 Flex XML
使用下面的 xml,我试图从“真实”name=sum 元素中获取 val。
我尝试的一切都不会让我超过“obj”级别(不是根“obj”级别)
我正在使用flex 4.5,
<obj href="http://10.1.151.163/obix/histories/Dashboard_ENC/WaterConsumtion/~historyRollup/" is="obix:HistoryQueryOut" xsi:schemaLocation="http://obix.org/ns/schema/1.0 /obix/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://obix.org/ns/schema/1.0">
<list name="data" of="obix:HistoryRollupRecord">
<obj>
<abstime name="start" val="2011-06-13T10:00:00.000-04:00" tz="EDT"/>
<abstime name="end" val="2011-06-13T11:00:00.000-04:00" tz="EDT"/>
<int name="count" val="4"/>
<real name="min" val="0.0"/>
<real name="max" val="25.0"/>
<real name="avg" val="14.105714559555054"/>
<real name="sum" val="56.422858238220215"/>
</obj>
<obj>
<abstime name="start" val="2011-06-13T11:00:00.000-04:00" tz="EDT"/>
<abstime name="end" val="2011-06-13T12:00:00.000-04:00" tz="EDT"/>
<int name="count" val="4"/>
<real name="min" val="12.38690185546875"/>
<real name="max" val="42.49167251586914"/>
<real name="avg" val="29.935394763946533"/>
<real name="sum" val="119.74157905578613"/>
</obj>
</list>
<int name="count" val="2"/>
<abstime name="start" val="2011-06-13T10:00:00.000-04:00" tz="EDT"/>
<abstime name="end" val="2011-06-13T12:00:00.000-04:00" tz="EDT"/>
</obj>
这就是我所拥有的......
private function parseWater(ev:Event):void
{
var _xmlWater:XML = new XML(ev.target.data);
trace(_xmlWater);
trace(_xmlWater..obj[1].real[3].@val); // <-- this doesn't work -- undefined
}
谢谢
with the below xml I'm trying to get the val from the "real" name=sum element.
everything I try won't get me past the "obj" level (not the root "obj" level)
I'm working with flex 4.5
<obj href="http://10.1.151.163/obix/histories/Dashboard_ENC/WaterConsumtion/~historyRollup/" is="obix:HistoryQueryOut" xsi:schemaLocation="http://obix.org/ns/schema/1.0 /obix/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://obix.org/ns/schema/1.0">
<list name="data" of="obix:HistoryRollupRecord">
<obj>
<abstime name="start" val="2011-06-13T10:00:00.000-04:00" tz="EDT"/>
<abstime name="end" val="2011-06-13T11:00:00.000-04:00" tz="EDT"/>
<int name="count" val="4"/>
<real name="min" val="0.0"/>
<real name="max" val="25.0"/>
<real name="avg" val="14.105714559555054"/>
<real name="sum" val="56.422858238220215"/>
</obj>
<obj>
<abstime name="start" val="2011-06-13T11:00:00.000-04:00" tz="EDT"/>
<abstime name="end" val="2011-06-13T12:00:00.000-04:00" tz="EDT"/>
<int name="count" val="4"/>
<real name="min" val="12.38690185546875"/>
<real name="max" val="42.49167251586914"/>
<real name="avg" val="29.935394763946533"/>
<real name="sum" val="119.74157905578613"/>
</obj>
</list>
<int name="count" val="2"/>
<abstime name="start" val="2011-06-13T10:00:00.000-04:00" tz="EDT"/>
<abstime name="end" val="2011-06-13T12:00:00.000-04:00" tz="EDT"/>
</obj>
here is what I have ...
private function parseWater(ev:Event):void
{
var _xmlWater:XML = new XML(ev.target.data);
trace(_xmlWater);
trace(_xmlWater..obj[1].real[3].@val); // <-- this doesn't work -- undefined
}
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试:
Try:
我认为你需要在那里有节点“列表”。看起来您刚刚犯了一个拼写错误,但是您运行的代码实际上确实引用了“列表”。
下面是关于如何在 AS3 中使用 XML 数据的非常详细的说明:
http://www. kirupa.com/developer/flashcs3/using_xml_as3_pg1.htm
I think you need to have the node "list" in there. It kinda looks like you just made a typo however and the code you ran actually did refer to "list".
Here's a really detailed explanation of how to work with XML data in AS3:
http://www.kirupa.com/developer/flashcs3/using_xml_as3_pg1.htm