首页 > 解决方案 > 在 PHP 中获取具有 objectid 的对象

问题描述

XML

从 GET 请求中,我得到了一个 objectid,在本例中:20140414153114207 现在我需要使用该 objectID 获取整个对象。

我不知道如何获取这些信息。有人可以帮助我在 PHP 中实现这一目标吗?

我目前有这个不起作用:

$houseid = $_GET["house"];

foreach( $xml[0]->objecten[0] as $key=>$value){
    if($xml[0]->objecten[0]->object["objectid"] == $houseid){
        print_r($xml[0]->objecten[0]->object[0]);
    }
}

我想我得到了错误的代码,但也许有人可以帮助我提供示例或解决方案?在互联网上找不到它..希望有人可以帮助

标签: phpxml

解决方案


您可以使用 Xpath 表达式从 SimpleXMLElement 实例中获取元素节点。

$xml = <<<'XML'
<data>
  <objecten>
    <object objectid="20140414153114207"/>
    <object objectid="20140414153114208"/>
    <object objectid="20140414153114209"/>
  </objecten>
</data>
XML;

$id = '20140414153114207';

$data = new SimpleXMLElement($xml);
foreach ($data->xpath("objecten/object[@objectid='{$id}']") as $object) {
    echo $object->asXML();
}

输出:

<object objectid="20140414153114207"/>

推荐阅读