繁体   English   中英

简单的XML阅读问题(PHP)

[英]Simple XML reading question (PHP)

我有以下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%中的值,对吗? 但是它打印“ Array”,当我print_r时,它返回空白。

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

<?php
    $xml = simplexml_load_file("test.xml");
    echo $xml->request->address;
?>

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

使用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();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM