【问题标题】:Can't read node from xml无法从 xml 读取节点
【发布时间】:2014-10-03 10:15:00
【问题描述】:
<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);
无法获取温度值。它什么也没显示。
【问题讨论】:
标签:
xml
actionscript-3
flash
【解决方案1】:
您正在跟踪levelXML.list.item.temperature,但它没有子文本元素,因此将跟踪一个空字符串。相反,尝试追踪其属性之一:
trace(levelXML.list.item.temperature.@value.toString());
【解决方案2】:
您需要像这样更改您的 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);
.@ 搜索属性(例如您的示例中的单位或最大值)