使用下面的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
}
由于
答案 0 :(得分:0)
我认为你需要有节点“列表”。有点看起来你刚刚写了一个拼写错误,而你运行的代码确实引用了“list”。
以下是有关如何在AS3中使用XML数据的详细说明:
http://www.kirupa.com/developer/flashcs3/using_xml_as3_pg1.htm
答案 1 :(得分:0)
尝试:
_xmlWater.list[0].obj[1].real[3].@val;