wDOM::executeXPath

Führt eine xPath-Abfrage auf ein DOM-Objekt aus

Funktionsaufruf

DomNodeList executeXPath(DOMDocument dom, String xPathExpression)

Parameter

dom

DOM-Objekt

xPathExpression

XPath-Abfrage

options

Erweiterte Optionen

context
Kontextknoten, von dem aus die Abfrage gestellt wird
namespacePrefix
Namensraum-Prefix
namespaceURI
Namensraum-URI

Hinweis
Beim Einsatz von Framework-Funktionen in eigenen Skripten beachten Sie bitte den Artikel "So verwenden Sie das PHP-Framework in eigenen Scripten".
Wenn Sie eine Funktion innerhalb einer Weblication® Seite z.B. über das PHP-Quelltext Element oder in einem XSL-Template über wsl:php einbinden, muss das Framework über die grid.php nicht mehr referenziert werden. Sofern nachfolgend PHP-Beispiele aufgeführt sind, ist dies entsprechend zu beachten.

Beispiel 1: XML-Dokument auslesen und ausgeben

Beispiel: Liest die Knoten eines XML-Baumes aus (z.B. getEntries.php)

  require_once $_SERVER['DOCUMENT_ROOT'].'/weblication/grid.php';
  
  
$userType wUserCur::getType();
  
  if(
$userType != 'admin' && $userType != 'standard'){
    exit;
  }

  
$domObject   wDOM::parseFile('/[PROJEKT]/wGlobal/content/entries/locomotion.wEntries.php');
  
$resultNodes wDOM::executeXPath($domObject"//entry");
  
  
$result '<entries>'."\n";
  
  foreach(
$resultNodes as $resultNode){
    
$result .= '  <entry value="'.$resultNode->getAttribute('value').'">'.$resultNode->textContent.'</entry>'."\n";
  }
  
$result .= '</entries>'."\n";  

  print 
$result;

Beispiel: XML-Datei locomotion.wEntries.php zu getEntries.php Script

<?php $version="1.0"; $encoding="UTF-8"; ?>
<?php exit; ?>
<locomotion>
  <entries>
    <entry value="car">Auto</entry>
    <entry value="train">Bahn</entry>
    <entry value="airplane">Flugzeug</entry>
  </entries>
</locomotion>

Beispiel 2: XML-Dokument auslesen und ausgeben

Beispiel: Liest den XML-Baum einer Kategorien-Datei aus

//Ermittelt alle Kategorienknoten
 
$resultNodes wDOM::executeXPath(wDOM::parseFile($_SERVER['DOCUMENT_ROOT'].'/[IHR-GLOBALES-PROJEKT]/wGlobal/content/categories/standard.wCategories.php'), '//category');
  
print 
'<div class="listCategories">';

foreach(
$resultNodes as $resultNode){
  
//Falls es sich um eine Unterkategorie handelt, wird diese eingerueckt
  
if($resultNode->parentNode->tagName == 'category'){
    
//print "   ".$resultNode->getAttribute('text')." (".$resultNode->getAttribute('id').")<br />";
    // die Datei document-category.php stellt eine Inhaltsseite mit Liste dar, welche die URL-Parameter berücksichtigt
    
print ' <a href="/[PROJEKT]/documents-category.php?categories[]='.$resultNode->getAttribute('id').'" class="categories" style="margin-left:20px">'.$resultNode->getAttribute('text')."</a><br />";
  }
  else{
    
//print $resultNode->getAttribute('text')." (".$resultNode->getAttribute('id').")<br />";
    // die Datei document-category.php stellt eine Inhaltsseite mit Liste dar, welche die URL-Parameter berücksichtigt
    
print '<a href="/[PROJEKT]/documents-category.php?categories[]='.$resultNode->getAttribute('id').'" class="categories">'.$resultNode->getAttribute('text')."</a><br />";
  }
}
print 
'</div>';

Beispiel 3: Liest Werte aus dem wd:meta Bereich aus (Namensraum muss definiert werden)

$titleNode wDOM::executeXPath($domObject'//wd:meta/wd:title/text()', array('namespacePrefix' => 'wd''namespaceURI' => 'http://weblication.de/5.0/wd'))->item(0);

print 
$titleNode->wholeText;
 
Diese Webseite verwendet Cookies. Durch die Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Datenschutzinformationen