我想知道你能不能帮忙。下面的代码从外部 XML 文件中提取 XML 数据,然后将其重新格式化为表数据。一切都很完美。但是,需要更改 XML 文件中的一些数据,因此是否可以对下面的每个单独节点使用 str_replace 或 preg_replace?我不知道如何为每个节点编写 str_replace。我想也许像这样的“ {$hour->weatherCod} . str_replace (10, Sun); ”会起作用,但事实并非如此。smeone 能告诉我正确的格式吗?我需要一些简单的东西,因为我更像是一个动作脚本而不是 php。
非常感谢您能提供帮助!
<?php
// load SimpleXML
$data = new SimpleXMLElement('xml_file.xml', null, true);
foreach($data->weather as $weather)
{
foreach ($weather->hourly as $hour)
{
echo <<<EOF
<tr>
<td>{$weather->day}</td>
<td>{$weather->Ctemp1}°c</td>
<td>{$weather->Ctemp2}°c</td>
<td>{$hour->time}</td>
<td>{$hour->tempC}°c</td>
<td>{$hour->tempF}°f</td>
<td>{$hour->windMiles}mph</td>
<td>{$hour->windKmph}km/h</td>
<td>{$hour->windDegree}°</td>
<td>{$hour->winddir}</td>
<td>{$hour->weatherCod}</td>
<td>{$hour->weatherIconUrl}</td>
<td>{$hour->precipMM}mm</td>
<td>{$hour->humidity}%</td>
<td>{$hour->visibility}</td>
<td>{$hour->pressure}mb</td>
<td>{$hour->cloudcover}</td>
<td>{$hour->sigHeight_m}m</td>
<td>{$hour->swellHeight_m}m</td>
<td>{$hour->swellDir}°</td>
<td>{$hour->swellPeriod_secs}s</td>
<td>{$hour->waterTemp_C}°c</td>
<td>{$hour->waterTemp_F}°f</td>
</tr>
EOF;
}
}
echo '</table>';
?>