有人可以帮我解决这个RegEx问题吗?

问题描述:

我是使用RegEx从XML文件获取信息的新手。我试图从每个部分获取主要信息以显示在数组中,但无法弄清楚。我将不胜感激任何帮助。有人可以帮我解决这个RegEx问题吗?

我想我已经拆分了每个部分,我想从中返回信息,但我不确定如何将它们放在一起,以便在表格中显示结果数组。

我使用的XML可以在这里找到: 国家公路气象站数据 http://data.tii.ie/Datasets/Its/DatexII/WeatherData/Content.xml

,我已经为我想使用的部分创建的正则表达式是:

道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> 

如果有人能告诉我这是如何工作,我真的很感激它,因为我想提高我的编程技能到新的领域。谢谢!

+8

你为什么不使用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.. } 

? https://www.w3schools.com/Php/php_xml_simplexml_read.asp –

+0

@ChinLeung因为我对此很新,所以我有很多东西要学习和发现!我会看看这个,谢谢! – Ryan

+1

http://*.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags?rq=1 – AbraCadaver

是的,正如@Chin Leung指出XML解析器是处理这个问题的最好方法。

这里有一种方法可以处理这个问题:使用http://us2.php.net/manual/en/function.simplexml-load-string.php

http://us2.php.net/manual/en/function.file-get-contents.php