Bonjour @ tous,

En gros, je rentre dans le XML à une balise X et je doit remonter jusqu'à ce que je trouve un certain attribut.
Je me trouve incapable de remonter une arborescence.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
		$admins = array();
		if (file_exists("theme.xml")) {
			$doc = new DOMDocument('1.0', 'UTF-8'); // Creation d'un domdocument
			$doc->preserveWhiteSpace = FALSE;
			$doc->load("theme.xml"); // Chargement de ce fichier loadXML
			$xpath = new DOMXPath($doc);
			$noeud = $xpath->query('//support[@idSupport="'.$idSupport.'"]', $doc);
			echo ">".XML_ELEMENT_NODE." - ".XML_ATTRIBUTE_NODE." - ".XML_TEXT_NODE." - ".XML_CDATA_SECTION_NODE." - ".XML_COMMENT_NODE."<br />";
			while ($noeud!=null) {
				if ($noeud->firstChild->nodeType == XML_ELEMENT_NODE) { // XML_TEXT_NODE XML_ELEMENT_NODE
					echo "1>".$noeud->firstChild->nodeName."<br />";
					if (($noeud->firstChild->hasattribute("notif_mail")) && ($noeud->firstChild->getattribute("notif_mail")!="")) {
						$admins = explode(";", $noeud->firstChild->getattribute("notif_mail"));
						Break;
					} else
						$noeud = $noeud->firstChild->parentNode;
				} else {
					echo "2>".$noeud->item(0)->nodeName.": ".$noeud->item(0)->nodeType."<br />";
					$noeud = $noeud->item(0)->parentNode;
				} // */
			}
		}
echo var_dump($admins);
Il me fait soit rien soit une erreur.
En gros, selon le type de noeud, il faut soit mettre ->item(0), soit pas... Et je ne sais pas quand.

Voici le XML:
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<vehicules>
	<vehicule idVehicule="1" notif_mail="test">
		<univers>
			<univer idUniver="1">
				<themes>
					<theme idTheme="94">
						<supports>
							<support idSupport="520" date_ajout="2012-03-05" date_modif="2012-10-23"/>
						</supports>
					</theme>
					<theme idTheme="9">
						<supports>
							<support idSupport="153" date_ajout="2011-10-23" date_modif="2012-10-23"/>
 
						</supports>
					</theme>
<themes>