Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Expedia API请求返回XML结果,但可以';我们不能从中提取数据_Php_Arrays - Fatal编程技术网

Php Expedia API请求返回XML结果,但可以';我们不能从中提取数据

Php Expedia API请求返回XML结果,但可以';我们不能从中提取数据,php,arrays,Php,Arrays,我不知道为什么,也许我太傻了,但我已经尝试从Expedia API请求中提取内容超过2个小时了。也许我今天在这个网站上工作了很长时间,所以我没有看到一个简单的错误,但无论如何我没有找到它。API请求“HotelList”给我带来了这个问题,获取HotelDetails并从返回的XML输出中提取数据在第一次尝试时效果很好 我收到的请求/结果如下所示: $result = $search->getHotels($dataArray); ----------------------------

我不知道为什么,也许我太傻了,但我已经尝试从Expedia API请求中提取内容超过2个小时了。也许我今天在这个网站上工作了很长时间,所以我没有看到一个简单的错误,但无论如何我没有找到它。API请求“HotelList”给我带来了这个问题,获取HotelDetails并从返回的XML输出中提取数据在第一次尝试时效果很好

我收到的请求/结果如下所示:

$result = $search->getHotels($dataArray);

--------------------------------------------

RESULT (print_r) LOOKS LIKE THIS

    Array
(
    [current_search] => Array
        (
            [check_in] => 05/08/2013
            [check_out] => 05/13/2013
        )

    [title] => 
    [hotels] => SimpleXMLElement Object
        (
            [customerSessionId] => XXXXXXXXXXXXX
            [numberOfRoomsRequested] => 1
            [moreResultsAvailable] => true
            [cacheKey] => XXXXXXXXXXXXXXXXX
            [cacheLocation] => XXXXXXXXXXXXXX
            [cachedSupplierResponse] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [matchedLocale] => true
                            [matchedCurrency] => true
                            [tpidUsed] => 5102
                            [otherOverheadTime] => 5
                            [candidatePreptime] => 62
                            [supplierResponseTime] => 1950
                            [supplierResponseNum] => 5
                            [supplierRequestNum] => 513
                            [cachedTime] => 0
                            [supplierCacheTolerance] => NOT_SUPPORTED
                        )

                )

            [HotelList] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [activePropertyCount] => 562
                            [size] => 5
                        )

                    [HotelSummary] => Array
                        (
                            [0] => SimpleXMLElement Object
                                (
                                    [@attributes] => Array
                                        (
                                            [ubsScore] => 2147483647
                                            [order] => 0
                                        )

                                    [hotelId] => 126913
                                    [name] => The New Yorker Hotel
                                    [address1] => 481 Eighth Ave.
                                    [city] => New York
                                    [stateProvinceCode] => NY
echo $result->hotels->HotelList->HotelSummary[0]->name;
echo $result->HotelList->HotelSummary[0]->name;
echo $result->$HotelSummary[0]->name; or
echo $result->current_search->check_in;
我一直在想尽一切办法弄清楚这家酒店的名字,但我甚至无法提取退票结果或类似的信息。我只是在尝试这样的东西:

$result = $search->getHotels($dataArray);

--------------------------------------------

RESULT (print_r) LOOKS LIKE THIS

    Array
(
    [current_search] => Array
        (
            [check_in] => 05/08/2013
            [check_out] => 05/13/2013
        )

    [title] => 
    [hotels] => SimpleXMLElement Object
        (
            [customerSessionId] => XXXXXXXXXXXXX
            [numberOfRoomsRequested] => 1
            [moreResultsAvailable] => true
            [cacheKey] => XXXXXXXXXXXXXXXXX
            [cacheLocation] => XXXXXXXXXXXXXX
            [cachedSupplierResponse] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [matchedLocale] => true
                            [matchedCurrency] => true
                            [tpidUsed] => 5102
                            [otherOverheadTime] => 5
                            [candidatePreptime] => 62
                            [supplierResponseTime] => 1950
                            [supplierResponseNum] => 5
                            [supplierRequestNum] => 513
                            [cachedTime] => 0
                            [supplierCacheTolerance] => NOT_SUPPORTED
                        )

                )

            [HotelList] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [activePropertyCount] => 562
                            [size] => 5
                        )

                    [HotelSummary] => Array
                        (
                            [0] => SimpleXMLElement Object
                                (
                                    [@attributes] => Array
                                        (
                                            [ubsScore] => 2147483647
                                            [order] => 0
                                        )

                                    [hotelId] => 126913
                                    [name] => The New Yorker Hotel
                                    [address1] => 481 Eighth Ave.
                                    [city] => New York
                                    [stateProvinceCode] => NY
echo $result->hotels->HotelList->HotelSummary[0]->name;
echo $result->HotelList->HotelSummary[0]->name;
echo $result->$HotelSummary[0]->name; or
echo $result->current_search->check_in;
可能像其他20种组合,但根本没有输出

我真的希望有人能帮我

致意
托马斯

它看起来像:
$result['hotels']->HotelList->HotelSummary[0]->name

但是obv.未经测试。

您能提供一个原始xml的示例吗?如果您也能看到完整的simplexml请求代码,那就太好了。这可能很简单/很明显,但我今天脑子不好使,所以我想亲自动手测试一下,让它和密使一起工作,但非常感谢你的努力:)-可能重复:先生,你和密使是我的英雄。我生命中该死的三个小时,我不明白为什么我可以得到零输出。出于彻底的绝望,我搜索了SimpleXMLObject和HotelList,并偶然发现了这一点。多么令人难以置信的沮丧,终于解决了…非常感谢你,使者,我只是没见过,但现在它像一个符咒一样工作!!:)当然,谢谢你的努力,戴夫。