Ukázka použití XPathu s DOM

Příklad 14. prehled/xpath.php

<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01//EN'>
<html lang="cs">
  <head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <title>Přehled zpráv</title>
  </head>
  <body>
<?php 

// vytvoření DOM stromu ze souboru
$doc = new DomDocument();
$doc->load("../data/luparss.xml");

// vytvoření objektu pro vyhodnocování XPath dotazů
$xpath = new DOMXPath($doc);

?>

    <h1>Přehled aktuálních zpráv ze serveru 
      <a href="<?php echo htmlspecialchars($xpath->evaluate("string(/rss/channel/link)"), ENT_QUOTES)?>"><?php echo htmlspecialchars($xpath->evaluate("string(/rss/channel/title)"))?></a>
    </h1>

    <dl>
<?php

// výběr všech položek v kanálu
$polozky = $xpath->evaluate("/rss/channel/item");

// postupné zpracování všech položek
foreach($polozky as $polozka)
{
  echo "<dt><a href='" . htmlspecialchars($xpath->evaluate("string(link)", $polozka), ENT_QUOTES) . "'>" . htmlspecialchars(($xpath->evaluate("string(title)", $polozka))) . "</a></dt>\n";
  echo "<dd>" . htmlspecialchars(($xpath->evaluate("string(description)", $polozka))) . "</dd>\n";
}


?>
    </dl>
  </body>
</html>