无法从xml读取节点

时间:2014-10-03 10:15:01

标签: xml actionscript-3 flash

<cities>
  <mode>name</mode>
 <list>
  <item>
   <city id="456172" name="Riga">
   </city>
   <temperature value="287.15" min="287.15" max="287.15" unit="kelvin"/>

levelXML = XML(e.target.data);
trace(levelXML.list.item.temperature);

无法获得温度值。它没有显示任何内容。

2 个答案:

答案 0 :(得分:1)

您正在跟踪levelXML.list.item.temperature,但它没有子文本元素,因此会跟踪一个空字符串。相反,请尝试跟踪其中一个属性:

trace(levelXML.list.item.temperature.@value.toString());

答案 1 :(得分:0)

您需要像这样更改您的xml:

<cities>
 <mode>name</mode>
 <list>
  <item>
   <city id="456172" name="Riga">
   </city>
    <temperature  min="287.15" max="287.15" unit="kelvin">
     287.15
    </temperature>

在你的as3中你可以写

trace(levelXML.list.item.temperature);

否则,您可以保留xml,但在as3中,您需要更改为:

trace(levelXML.list.item.temperature.@value);

。@搜索属性(例如你的例子中的单位或最大值)