[英]Import data from xml
我正在嘗試使用simple_xml從XML文件中獲取數據,到目前為止,我可以獲得除圖像之外的所有數據。 如何調用單個圖像名稱?
<?php
$ur="http://services2.jupix.co.uk/api/get_properties.php?clientID=35871cc1b6d9ec6237aaaf94aa0e0836&passphrase=cvYG9f";
$xml = simplexml_load_file($ur);
foreach ($xml->property as $property):
var_dump($property->images->image);
echo'image-> image“>'; //這不顯示
endforeach;?>
我的代碼輸出如下圖所示。 如何顯示圖像編號1 public 1 => string'http: //media2.jupix.co.uk/v3/clients/657/properties/1356/IMG_1356_9_large.jpg '(長度= 77)
我認為SimpleXMLElement :: xpath可以做你想要的:
你可以嘗試一下:
<?php
$ur="http://services2.jupix.co.uk/api/get_properties.php?clientID=35871cc1b6d9ec6237aaaf94aa0e0836&passphrase=cvYG9f";
$xml = simplexml_load_file($ur);
$image = $xml->xpath('//property/images/image[@modified="2014-07-23 14:22:05"]')[1]->__toString();
var_dump($image);
或者您可以遍歷所有圖像並檢查您要查找的名稱:
$images = $xml->xpath('//property/images/image');
foreach ($images as $image) {
$url = $image->__toString();
if (false !== strpos($url, "_9_large.jpg")) {
var_dump($url);
}
}
如果你想獲得每個/ images部分的第二個圖像,那么你可以這樣做:
$images = $xml->xpath('//property/images');
foreach ($images as $image) {
if (isset($image->children()[1])) {
var_dump($image->children()[1]->__toString());
}
}
謝謝Guy我找到了解決問題的方法。 看看后面的問題,似乎我沒有以正確的方式把它放在我想要的是顯示該部分內的圖像。 Xpath沒有必要但我從中學到了東西。 這是我的解決方案,如果你能改進它,我們非常歡迎你。
$url ="http://services2.jupix.co.uk/api/get_properties.php?clientID=35871cc1b6d9ec6237aaaf94aa0e0836&passphrase=cvYG9f";
$xml = simplexml_load_file($url);
foreach ($xml->property as $property):
?>
<li>
<h3> <?php echo $property->addressStreet;?> </h3>
<?php
$imgCount = count($property->images->image);
for ($i=0; $i < $imgCount; $i++) { ?>
<img src="<?php echo $property->images->image[$i];?>">
<?php } ?>
<p><?php echo limit_text($property->fullDescription,30);?></p>
<h4>£ <?php echo $property->price;?> </h4>
</li>
<?php endforeach; ?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.