Разбор xml записей с указанием c содержимого - PullRequest
0 голосов
/ 20 января 2020

Я хочу прочитать файл xml только с определенным содержимым, но мой код, кажется, обменивается данными, а не просто показывает записи, которые я хочу. В этом случае все записи, которые имеют содержание «Zahnreinigung».

<Bilder>
<VorherNachher>
    <Image>img/vorhernachher/vorhernachher-zahnreinigung.jpg</Image>
    <Behandlung>Zahnreinigung</Behandlung>
    <Arzt>Dr. Name</Arzt>
</VorherNachher>

$url = "vorhernachher.xml";
$xmldata = @simplexml_load_file($url) or
die ("error ".$url."\n");

$random = array_rand($xmldata->xpath('VorherNachher'), 12);
   foreach($random as $key) {
      $VorherNachher = $xmldata->VorherNachher[$key];

    if ($VorherNachher->Behandlung = ($location['page'])) {

      echo "<div><div class='slide01'>";

      echo "
          <div class='bild-slide'>
          <img src='$VorherNachher->Image' alt='Vorher/Nachher $VorherNachher->Behandlung' class='OF-cover'>
          </div>
          <a href='$ArztLink' class='arzt'><img src='$ArztImg' alt='$VorherNachher->Arzt'>$VorherNachher->Arzt</a>";

      echo "</div></div>";

}}

1 Ответ

0 голосов
/ 21 января 2020

У меня есть новая версия, которая действительно работает.

$sxe =  simplexml_load_file("vorhernachher.xml");
foreach($sxe->xpath('//VorherNachher') as $item) {

    $row = simplexml_load_string($item->asXML());
    $v = $row->xpath('/VorherNachher/Behandlung[. ="'.$vorhernacher.'"]');

    if($v[0]){
        print "<div><div class='slide01'> ";
        print "<div class='bild-slide'><img src='$item->Image' alt='Vorher/Nachher $item->Behandlung' class='OF-cover'></div>
              <a href='$ArztLink' class='arzt'><img src='$ArztImg' alt='$item->Arzt'> $item->Arzt</a>";
        print "</div></div>";
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...