php - 在 PHP 中获取具有 objectid 的对象
问题描述
从 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]);
}
}
我想我得到了错误的代码,但也许有人可以帮助我提供示例或解决方案?在互联网上找不到它..希望有人可以帮助
解决方案
您可以使用 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"/>
推荐阅读
- c++ - Boost locale normalize 去除字符但没有重音符号
- javascript - 如何防止 mui-datatables 中的搜索栏消失?
- typescript - 打字稿:使用特定的扩展接口来满足通用的“扩展”类型参数?
- android - 无法在泄漏金丝雀跟踪中找到原因
- c# - 将浮点数舍入到最接近 5 的倍数
- firebase - Vue:[Vue 警告]:渲染错误:“TypeError:product.data 不是函数”
- haskell - Haskell - 过滤器,柯里化
- sql - 如果子查询在 Postgres 中返回多行,则跳过行
- google-cloud-platform - GCP:可以使用 Serverless VPC Access 的函数也享受 Private Google Access
- python - Python为装饰器编写单元测试