2

我有以下 XML 文件:

    <?xml version="1.0" encoding="utf-8"?>
<SearchResults:searchresults xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.zillow.com/static/xsd/SearchResults.xsd /vstatic/279989c5e93d519f8d8f23d3f6cac661/static/xsd/SearchResults.xsd" xmlns:SearchResults="http://www.zillow.com/static/xsd/SearchResults.xsd">

<request>
<address>2114 Bigelow Ave</address>
<citystatezip>Seattle, WA</citystatezip>
</request>

<message>
<text>Request successfully processed</text>

<code>0</code>

</message>


<response>
<results>

<result>
<zpid>48749425</zpid>
<links>

<homedetails>http://www.zillow.com/homedetails/2114-Bigelow-Ave-N-Seattle-WA-98109/48749425_zpid/</homedetails>

<graphsanddata>http://www.zillow.com/homedetails/charts/48749425_zpid,1year_chartDuration/?cbt=3697699817560038867%7E3%7EQh4sEjEhBNEguUWA-0f22TvGUpBB7FpUkAZlBRy5_26R5PYjKDdVAA**</graphsanddata>

<mapthishome>http://www.zillow.com/homes/48749425_zpid/</mapthishome>

<myestimator>http://www.zillow.com/myestimator/Edit.htm?zprop=48749425</myestimator>
<myzestimator deprecated="true">http://www.zillow.com/myestimator/Edit.htm?zprop=48749425</myzestimator>

<comparables>http://www.zillow.com/homes/comps/48749425_zpid/</comparables>

</links>
<address>
<street>2114 Bigelow Ave N</street>
<zipcode>98109</zipcode>
<city>Seattle</city>
<state>WA</state>
<latitude>47.63793</latitude>

<longitude>-122.347936</longitude>
</address>


<zestimate>
<amount currency="USD">1112500</amount>
<last-updated>01/14/2010</last-updated>


<oneWeekChange deprecated="true"></oneWeekChange>


<valueChange duration="30" currency="USD">-77500</valueChange>



<valuationRange>
<low currency="USD">878875</low>
<high currency="USD">1145875</high>
</valuationRange>
<percentile>0</percentile>
</zestimate>
<localRealEstate>


<region id="271856" type="neighborhood" name="East Queen Anne">

<zindexValue>525,252</zindexValue>
<zindexOneYearChange>-0.104</zindexOneYearChange>

<links>
<overview>http://www.zillow.com/local-info/WA-Seattle/East-Queen-Anne/r_271856/</overview>
<forSaleByOwner>http://www.zillow.com/homes/fsbo/East-Queen-Anne-Seattle-WA/</forSaleByOwner>
<forSale>http://www.zillow.com/homes/for_sale/East-Queen-Anne-Seattle-WA/</forSale>

</links>
</region>

<region id="16037" type="city" name="Seattle">

<zindexValue>373,795</zindexValue>
<zindexOneYearChange>-0.064</zindexOneYearChange>

<links>
<overview>http://www.zillow.com/local-info/WA-Seattle/r_16037/</overview>

<forSaleByOwner>http://www.zillow.com/homes/fsbo/Seattle-WA/</forSaleByOwner>
<forSale>http://www.zillow.com/homes/for_sale/Seattle-WA/</forSale>
</links>
</region>

<region id="59" type="state" name="Washington">

<zindexValue>256,760</zindexValue>
<zindexOneYearChange>-0.074</zindexOneYearChange>


<links>
<overview>http://www.zillow.com/local-info/WA-home-value/r_59/</overview>
<forSaleByOwner>http://www.zillow.com/homes/fsbo/WA/</forSaleByOwner>
<forSale>http://www.zillow.com/homes/for_sale/WA/</forSale>
</links>
</region>

</localRealEstate>

</result>

</results>          
</response>

</SearchResults:searchresults>
<!-- H:118  T:102ms  S:1761  R:Fri Jan 15 10:52:49 PST 2010  B:3.0.79367-comp_rel_b -->

如果您还不能确定,那就是 Zillow API 的标准输出。我想存储某些标签之间存储的信息的数据,我了解到是通过xpath查询的。

例如,如何查询 /SearchResults:searchresults/request/address 中的数据?当我回显/打印变量时,这样做不起作用:

$xml = simplexml_load_file("-truncated XML URL-");
$result = $xml->xpath('/SearchResults:searchresults/request/address')

据我了解,$result 变量应该包含嵌套在 %VALUE HERE% 中的值,对吗?但它打印“数组”,当我 print_r 时,它返回空白。

4

3 回答 3

2

这是获取该信息的简单方法:

<?php
    $xml = simplexml_load_file("test.xml");
    echo $xml->request->address;
?>
于 2010-01-15T20:20:09.157 回答
1

您需要使用完整的命名空间而不是短名称。

于 2010-01-15T20:18:17.320 回答
-2

使用http://simplepie.org

$xml = "yourxml code here";

$feed = new SimplePie();
$feed->set_raw_data($xml);
$feed->init();
$feed->handle_content_type();
echo $feed->get_adress();
于 2010-01-15T20:20:39.387 回答