Salut.

Le contexte :



Le probleme :

considère les retours chariots après mes balises comme des enfants du nœud et me renvoi un
#text
.

Le code :

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
 
$this->oDom= new domDocument();
 
$this->oDom->load('mon/fichier/xml');
 
$oDomXpath = new DOMXpath($this->oDom);
 
$oDomXpath->preserveWhiteSpace = false;
 
$nodeList = $oDomXpath->query('//type');
 
if($nodeList)
{
    $aPlayerData = array();	
 
    foreach ($nodeList as $node)
    {					
        foreach($node->childNodes as $nodeChild)
	{					
	    $aPlayerData[$node->getAttribute('id')][$nodeChild->nodeName] = $nodeChild->nodeValue;
	}
    }
}
Le fichier XML :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<?xml version="1.0" encoding="UTF-8"?>
<data>
	<type id="A">
		<value>90</value>
	</type>
	<type id="B">
		<value>53</value>
	</type>
	<type id="C">
		<value>85</value>
	</type>
</data>
Le résultat :

Array
(
[A] => Array
(
[#text] =>

[value] => 90
)

[B] => Array
(
[#text] =>

[value] => 53
)

[C] => Array
(
[#text] =>

[value] => 85
)

)
La question :

Est ce que quelqu'un sais comment éviter cela ?
Aurais je oublier un truc ?

J'ai pensé tester la valeur de chaque nœud et afficher ou non l'enfant, mais je trouve cette solution crado et je suis sur qu'on peu éviter ça autrement.

A titre indicatif : La propriété ni change rien.

Merci d'avance