我很擅长使用RegEx从XML文件中获取信息。我试图从每个部分获取主要信息以显示在数组中,但无法弄明白。我很感激为此提供任何帮助。
我认为我已将每个部分拆分出来,但是我不知道如何将所有部分放在一起以便在表格中显示结果数组。
我正在使用的XML可以在这里找到: 国道气象站数据 http://data.tii.ie/Datasets/Its/DatexII/WeatherData/Content.xml
我为我想要使用的部件创建的RegEx是:
道路ID
(NRA\d+)
日期&时间
(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2})
气温
<airTemperature>(\d{1,2}.\d{1})<\/airTemperature>
风向
<windDirectionCompass>(\w+)<\/windDirectionCompass>
风速
<windSpeed>(\d{1,3}.\d{1})<\/windSpeed>
道路温度
<roadSurfaceTemperature>(\d{1,3}.\d{1})<\/roadSurfaceTemperature>
如果有人能告诉我这是如何工作的,我会非常感激,因为我正努力将我的编码技能发展到新的领域。谢谢!
答案 0 :(得分:0)
是的,因为@Chin Leung指出XML解析器是解决这个问题的最好方法。
以下是一种处理此问题的方法:
$xml = file_get_contents('http://data.tii.ie/Datasets/Its/DatexII/WeatherData/Content.xml');
$xml_object = simplexml_load_string($xml);
$publication = $xml_object->payloadPublication;
$siteMeasurements = $publication->siteMeasurements;
foreach($siteMeasurements as $siteMeasurement)
{
$road_id = str_replace('NRA', '', $siteMeasurement->measurementSiteReference);
etc..
}
使用http://us2.php.net/manual/en/function.simplexml-load-string.php
和http://us2.php.net/manual/en/function.file-get-contents.php