Flash 如何解析节点标签中有空格的XML节点?
我正在使用weather.com web服务请求一个位置的当前条件,并且正在解析当前温度,感觉就像我的Flash应用程序中的温度和当前条件图标。当前温度和感觉温度节点嵌套在NowItems->NowItem中,而WeatherToday在提要中更进一步。我在AS3中写了以下内容:Flash 如何解析节点标签中有空格的XML节点?,flash,actionscript-3,e4x,Flash,Actionscript 3,E4x,我正在使用weather.com web服务请求一个位置的当前条件,并且正在解析当前温度,感觉就像我的Flash应用程序中的温度和当前条件图标。当前温度和感觉温度节点嵌套在NowItems->NowItem中,而WeatherToday在提要中更进一步。我在AS3中写了以下内容: public class Main extends MovieClip { public function Main() { var urlRequest:URLRequest =
public class Main extends MovieClip
{
public function Main()
{
var urlRequest:URLRequest = new URLRequest("WebServiceURL");
var urlLoader:URLLoader=new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, onXmlLoaded);
urlLoader.load(urlRequest);
}
private function onXmlLoaded(event:Event):void
{
XML.ignoreWhitespace = true;
var urlLoader:URLLoader = event.currentTarget as URLLoader;
var resultXML:XML = XML(urlLoader.data);
trace(resultXML.NowItems.NowItem.CURRENT TEMPERATURE.Value);
trace(resultXML.NowItems.NowItem.FEELS LIKE.Value);
trace(resultXML.WeatherToday.Icon);
var lowtemp_label :TextField = new TextField();
addChild(lowtemp_label);
var hitemp_label :TextField=new TextField();
addChild(hitemp_label);
var condicon_label :TextField=new TextField();
addChild(condicon_label);
lowtemp_label.text = resultXML.minTemp;
hitemp_label.text= resultXML.maxTemp;
condicon_label.text=resultXML.icon;
}
}
以下是一些XML:
<rss version="2.0" xmlns:a10="http://www.w3.org/2005/Atom">
<channel>
<title>WEATHERSCAPE</title>
<link>http://www.weatherchannel.com.au/</link>
<description>WEATHERSCAPE DATA</description>
<category>Weather</category>
<item>
<guid isPermaLink="false">18b88e0b-b53f-41a3-bdfb-0762ae440f60</guid>
<link>http://www.weatherchannel.com.au/</link>
<title>Weather</title>
<description><?xml version="1.0" encoding="utf-16"?>
<LocalWeather xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<AreaType>suburb</AreaType>
<AreaId>555</AreaId>
<AreaName>SYDNEY</AreaName>
<UTCOffset>600</UTCOffset>
<ForecastCreated>2011-04-29T17:10:25Z</ForecastCreated>
<ObservationsCreated>2011-04-29T17:00:00Z</ObservationsCreated>
<NowItems>
<NowItem>
<Label>CURRENT TEMPERATURE</Label>
<Value>16.7</Value>
<Units>°C</Units>
<Change>STEADY</Change>
</NowItem>
<NowItem>
<Label>FEELS LIKE</Label>
<Value>16.9</Value>
<Units>°C</Units>
<Change>STEADY</Change>
</NowItem>
<NowItem>
<Label>DEW POINT</Label>
<Value>16</Value>
<Units>°C</Units>
<Change>DOWN</Change>
</NowItem>
<NowItem>
<Label>HUMIDITY</Label>
<Value>96</Value>
<Units>%</Units>
</NowItem>
<NowItem>
<Label>WIND SPEED</Label>
<Value>9</Value>
<Units>km/h</Units>
<Change>STEADY</Change>
<Direction>SW</Direction>
</NowItem>
<NowItem>
<Label>WIND GUSTS</Label>
<Value>15</Value>
<Units>km/h</Units>
</NowItem>
<NowItem>
<Label>PRESSURE</Label>
<Value>1022</Value>
<Units>hPa</Units>
<Change>STEADY</Change>
</NowItem>
<NowItem>
<Label>RAIN SINCE 9AM</Label>
<Value>9</Value>
<Units>mm</Units>
<Change>N/A</Change>
</NowItem>
<NowItem>
<Label>FIRE DANGER LEVEL</Label>
<Value>UNAVAILABLE</Value>
<Units>N/A</Units>
</NowItem>
</NowItems>
<WMOID>94768</WMOID>
<SiteId>66062</SiteId>
<WeatherStation>SYDNEY</WeatherStation>
<WeatherToday>
<Icon>Fewshowers</Icon>
<FriendlyName>Few showers</FriendlyName>
<Precis>Few showers.</Precis>
<MaxTemp>22</MaxTemp>
<MinTemp>17</MinTemp>
<Units>°C</Units>
<MorningIcon>Showers</MorningIcon>
<AfternoonIcon>Fewshowers</AfternoonIcon>
<EveningIcon>Showers</EveningIcon>
<MorningPrecis>Showers</MorningPrecis>
<AfternoonPrecis>Few showers</AfternoonPrecis>
<EveningPrecis>Showers</EveningPrecis>
</WeatherToday>
天气景观
http://www.weatherchannel.com.au/
天气景观数据
天气
18b88e0b-b53f-41a3-bdfb-0762ae440f60
http://www.weatherchannel.com.au/
天气
?xml version=“1.0”encoding=“utf-16”?
LocalWeather xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance“xmlns:xsd=”http://www.w3.org/2001/XMLSchema"
地区类型郊区/地区类型
区域ID 555/区域ID
AreaNameSYDNEY/AreaName
UTCOffset600/UTCOffset
创建预报2011-04-29T17:10:25Z/创建预报
ObservationsCreated2011-04-29T17:00:00Z/ObservationsCreated
现在项目
现在项目
标签当前温度/标签
价值16.7/价值
单位摄氏度/单位
变化稳定/变化
/现在项目
现在项目
labelfeellike/Label
价值16.9/价值
单位摄氏度/单位
变化稳定/变化
/现在项目
现在项目
标签点/标签
价值16/价值
单位摄氏度/单位
更换/更换
/现在项目
现在项目
标签湿度/标签
价值96/价值
单位%/单位
/现在项目
现在项目
标签风速/标签
价值9/价值
单位平方米/小时/单位
变化稳定/变化
方向W/方向
/现在项目
现在项目
标签阵风/标签
价值15/价值
单位平方米/小时/单位
/现在项目
现在项目
标签压力/标签
价值1022/价值
单位SHPA/单位
变化稳定/变化
/现在项目
现在项目
LabelRAIN自上午9点开始/标签
价值9/价值
单位M/单位
改变,改变
/现在项目
现在项目
实验室火灾危险等级/标签
值不可用/值
单位编号/A/单位
/现在项目
/现在项目
WMOID94768/WMOID
SiteId66062/SiteId
气象站悉尼/气象站
今天天气
图标展示/图标
FriendlyName少量淋浴/FriendlyName
Precis有几次淋浴。/Precis
MaxTemp22/MaxTemp
MinTemp17/MinTemp
单位摄氏度/单位
晨衣店/晨衣店
下午尼康新闻发布会/下午尼康
晚间图标商店/晚间图标
晨报
下午淋浴/下午淋浴
晚上的精度展示/晚上的精度
/今天天气
我在请求当前温度的行中遇到编译器错误,感觉像是,因为它们中有空格?如果这些节点有空格,我应该使用什么语法来引用它们?这是引用这些节点的正确方法,还是有更简单的方法?当我引用标签文本(最后3行)中的节点时,我是否像在跟踪语句中一样使用完全限定的节点
多谢 描述节点内部是一个非XML的XML字符串
您需要获取描述节点,然后将其转换为xml以对其进行解析
[编辑]
好的,在您的示例中,基本上是两个XML文件,一个在另一个内部。
因此,我们需要做的是解析出描述节点,您可以从中学习如何这样做,这是一个很好的加载程序示例
成功获取描述节点的内容后,您现在必须取消对数据的扫描,因为数据已转换为html友好格式。(如果不在此处发布关于如何转换的其他问题,请确定unescape函数将处理此问题-抱歉,现在没有时间测试)
示例:
&它应该被转换成。你能发布一段XML吗?你能粘贴你收到的错误信息吗?你能提供我应该如何做的链接吗?我的新领域。谢谢:)