suit: PHP DOM xPath

Beitrag lesen

Kann man per PHP DOM den xPath eines Elements herausfinden?

Nein - es gibt nicht „den“ XPath.
XPath ist eine query language, also eine Abfragesprache, zum Ermitteln von Daten.

Wobei hierzu zu sagen ist, dass XPath als Abfragesprache wesentlich leistungsfähiger und schneller als DOM, wenn es um komplexe Abfragen geht.

$a = $xxx->getElementById('test');

echo $a->getXPath; // z.B.: "der/x/pfad/zum/objekt/test"

  

> Die gleiche Frage gilt für die weiteren Bestandteile innerhalb des angegebenen Beispielpfades - was sollen die darstellen?  
  
Wenn es eine ID ist sollte diese Abfrage zum Ziel führen: //\*[@id='test'] Wobei in DOM getElementById genau ein Element, jenes mit der gegebenen ID zurückliefert. Sollte es mehrere geben ist das Verhalten afaik nicht näher definiert.  
  
Die genannte XPath-Abfragen hingegen liefert alle Elemente mit einem id-Attribut dessen inhalt "test" ist - dabei ist es für XPath völlig egal ob es mehrere davon gibt oder diese Werte beinhalten die ggf. in der DTD des zu parsenden Dokuments nicht vorgesehen sind.