Получение элемента XML на основе значения атрибута - PullRequest
1 голос
/ 04 февраля 2011

Эй.У меня есть файл XML, и я хотел бы использовать PHP для отображения только размера medium.Часть XML выглядит следующим образом:

<image size="small">/small23.png</image>
<image size="medium">/medium23.png</image>
<image size="large">/large23.png</image>

Я хотел бы отобразить изображение на странице, используя <img src="" />, но я не уверен, как разместить только среднее изображение.Внутри петли, проходящей через все другие элементы, я попробовал это:

if($file->image->attributes()->size == "medium")
   echo "<img src=$file->image />";

, но ничего не нарисовано.

Ответы [ 2 ]

5 голосов
/ 04 февраля 2011

Исходя из вашего примера, я предполагаю, что вы используете SimpleXML, поэтому попробуйте это:

$mediums = $file->xpath("image[@size='medium']");
if (count($mediums)) {
    echo '<img src="' . (string) $mediums[0] . '" />';
}
2 голосов
/ 04 февраля 2011

<code>
$done = false;
foreach($file->image as $img) {
    foreach($img->attributes() as $key => $value) {
        if($key == "size" && $value == "medium") {
            echo "<img src = {$file->image} />";
            $done = true;
            break;
        }
    }
    if($done) { break; }
}
Это может сработать, попробуйте и дайте мне знать.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...