首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用PHP解析来自气象站的数据

使用PHP解析来自气象站的数据
EN

Stack Overflow用户
提问于 2013-12-21 16:13:39
回答 1查看 117关注 0票数 0

我刚刚找到了一个XML文件,其中包含了当地学校的气象站数据--最后,我找到了一个获取本地天气的源。

请检查文件结构http://www.zsvelkebilovice.cz:40010/xml.xml

这有点疯狂,因为没有传感器命名的标签,而是有另一种选择的标签。

有任何选项可以像这样解析XML吗?同样的格式使用第一天iOS应用程序存储日记日期,天气,全球定位系统和另一个数据不是在特定的标签,但在标签选项。

我想有一个PHP解析器可以让我通过$xml->wario->input->sensor->temperature访问数据?因为没有像这样的解析器的唯一解决方案是计数传感器顺序并通过$wario->input->sensor[order]访问它,如果它们不改变标记的顺序(或者添加/删除一些),我就不能使用。

我可以创建自己的解析器,但我仍然认为这里有一个库:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-21 16:55:12

您现在正在使用SimpleXML。SimpleXML有一个xpath()方法,允许您获取元素。这封装了DOM中的Xpath对象。DOMXpath::values ()允许您直接提取值。

代码语言:javascript
运行
复制
// stripped down xml for testing
$xml = <<<'XML'
<wario><input>
  <sensor>
   <type>humidity</type><id>1011</id><name>Humidity</name><value>100.0</value>
  </sensor>
  <sensor>
    <type>pressure</type><id>1012</id><name>Pressure</name><value>1011.0</value>
  </sensor>
  <sensor>
    <type>temperature</type><id>1025</id><name>T285b30061</name><value>-0.4</value>
  </sensor>
</input></wario>
XML;

// some bootstrap    
$dom = new DOMDocument();
$dom->loadXml($xml);
$xpath = new DOMXpath($dom);

// fetch the value of the first temperature sensor
$temperature = $xpath->evaluate('number(//sensor[type = "temperature"]/value)');

// fetch sensors with the id 1011
$sensors = $xpath->evaluate('//sensor[id = 1011]');
// get the first one
$sensor = $sensors->item(0);
// get some data from the sensor node
$data = array(
 'type' => $xpath->evaluate('string(type)', $sensor),
 'name' => $xpath->evaluate('string(name)', $sensor),
 'value' => $xpath->evaluate('number(value)', $sensor)
);

var_dump($temperature, $data);

输出:

代码语言:javascript
运行
复制
float(-0.4)
array(3) {
  ["type"]=>
  string(8) "humidity"
  ["name"]=>
  string(8) "Humidity"
  ["value"]=>
  float(100)
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20720946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档