XML到HTML(PHP)

use*_*585 0 php xml xslt xhtml google-weather-api

我有一个用于Google天气API的XML输出代码,我想知道如何将其输出到HTML中.我知道必须涉及一些PHP,但我在PHP方面非常有限.

这是代码:

 <forecast_information>
  <city data="Toronto, ON"/>
  <postal_code data="Toronto"/>
  <latitude_e6 data=""/>
  <longitude_e6 data=""/>
  <forecast_date data="2011-03-11"/>
  <current_date_time data="2011-03-11 15:07:00 +0000"/>
  <unit_system data="US"/>
</forecast_information>
<current_conditions>
  <condition data="Rain and Snow"/>
  <temp_f data="36"/>
  <temp_c data="2"/>
  <humidity data="Humidity: 100%"/>
  <icon data="/ig/images/weather/rain_snow.gif"/>
  <wind_condition data="Wind: S at 6 mph"/>
</current_conditions>
<forecast_conditions>
  <day_of_week data="Fri"/>
  <low data="31"/>
  <high data="37"/>
  <icon data="/ig/images/weather/rain_snow.gif"/>
  <condition data="Rain and Snow"/>
</forecast_conditions>
<forecast_conditions>
  <day_of_week data="Sat"/>
  <low data="28"/><high data="38"/>
  <icon data="/ig/images/weather/rain_snow.gif"/>
  <condition data="Rain and Snow"/>
</forecast_conditions>
<forecast_conditions>
  <day_of_week data="Sun"/>
  <low data="18"/>
  <high data="32"/>
  <icon data="/ig/images/weather/snow.gif"/>
  <condition data="Snow Showers"/>
</forecast_conditions>
<forecast_conditions>
  <day_of_week data="Mon"/>
  <low data="23"/><high data="32"/>
  <icon data="/ig/images/weather/partly_cloudy.gif"/>
  <condition data="Partly Cloudy"/>
</forecast_conditions>
Run Code Online (Sandbox Code Playgroud)

可能的html输出格式可能如下所示:

<div id="forecast_information">
  <div id="city_data">Ex: Toronto </div>
  <div id="current_date_time_data">EX: 2011-03-11</div>  
  <div id="forecast_date">EX: 2011-03-11</div>
  <div id="unit_system_data">Ex: US </div>
</div>
<div id="current_conditions">
  <div id="condition_data">Ex: Rain and Snow</div>
  <div id="temp_c_data">Temperature in Celcius</div>
  <div id="humidity_data">Humidity</div>
  <div id="wind_condition_data">ex: SW at 23 km/h</div>
  <div id="icon">ex: rain.gif</div>
</div>
<div id="forecast_conditions">
  <div id="day_of_week_data">Ex: Friday</div>
  <div id="low_data">Temperature in Celcius</div>
  <div id="high_data">Temperature in Celcius</div>
  <div id="condition_data">Ex: Rain</div>
 <div id="icon">ex: rain.gif</div>
</div>
<div id="forecast_conditions">
  <div id="day_of_week_data">Ex: Saturday</div>
  <div id="low_data">Temperature in Celcius</div>
  <div id="high_data">Temperature in Celcius</div>
  <div id="condition_data">Ex: Rain</div>
 <div id="icon">ex: rain.gif</div>
</div>
Run Code Online (Sandbox Code Playgroud)

Fel*_*ing 5

这可以通过XSLT完成.您可以创建一个XSLT样式表,根据您创建的规则将XML文件转换为HTML.请参阅PHP中的XSLT.

文档中的示例:

$xslDoc = new DOMDocument();
$xslDoc->load("collection.xsl");

$xmlDoc = new DOMDocument();
$xmlDoc->load("collection.xml");

$proc = new XSLTProcessor();
$proc->importStylesheet($xslDoc);
echo $proc->transformToXML($xmlDoc);
Run Code Online (Sandbox Code Playgroud)