Implementations de XPath et DOM

Implementations de XPath et DOM - PHP - Programmation

Marsh Posté le 18-02-2005 à 19:27:52    

Bonjour. J'ai actuelement deux problèmes avec les implémentations PHP de DOM et XPath.
 
Tout d'abord, l'objet NodeList de DOM. Les spécifications du W3C ( http://www.w3.org/TR/2000/REC-DOM-Level-2-...ml#ID-536297177 ) indiquent bien que la methode item() doit retourner un autre objet, de type Node. Ce code devrait donc logiquement retourner DOMNode

Code :
  1. $tree = new DomDocument();
  2. $tree->load('./res/file.xml');
  3. $list = $tree->getElementsByTagName('entry');
  4. echo get_class($list->item(0));


Or, c'est DOMElement que je recoit à la place.
 
Le deuxième problème est avec les expressions XPath. Toute requête mentionnant le nom d'un élément ne retroune aucun résultat. Exemple :  

Code :
  1. $tree = new DomDocument();
  2. $tree->load('./res/file.xml');
  3. $xpath = new DomXPath($tree);
  4. $list = $xpath->query('//entry');
  5. echo $list->length;


Ce code renvoit 0 à l'écran alors que l'élément <entry> existe bel et bien (voir premier exemple ci-dessus). Une requête du style //* marche parfaitement bien et renvoit tous les noeuds du document, par contre.
 
Voilà, j'espère que quelqu'un arrivera à me sortir du brouillard, parce que j'ai beau chercher, je ne trouve pas vraiment de solution au problème. Je précise que je travaille avec PHP 5.0.3 et l'extension DOM (pas DOM XML de PHP4, donc).
 
EDIT : problème résolu pour XPath. L'erreur venait d'un espace de nommage mal déclaré.


Message édité par Tchyo le 18-02-2005 à 21:47:30
Reply

Marsh Posté le 18-02-2005 à 19:27:52   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed