我正在尝试使用 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 'images->image">';//这个不显示
endforeach;?>
我的代码输出如下图。我如何显示图像编号 1 公共(public) 1 => 字符串 ' 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());
}
}
关于php - 从 xml 导入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33329593/