J'ai un XML commeTrouver un nœud particulier à partir d'un document XML
<Person>
<firstName>pradeep</firstName>
<lastName>jain</lastName>
<address>
<doorNumber>287</doorNumber>
<street>2nd block</street>
<city>bangalore</city>
</address>
<phoneNums type="mobile">9980572765</phoneNums>
<phoneNums type="landline">080 42056434</phoneNums>
<phoneNums type="skype">123456</phoneNums>
</Person>
Je veux faire écho à la valeur de skype en utilisant php. Comment fait-on ça. J'ai écrit le code comme ci-dessous, mais sa ne fonctionne pas
<?php
$doc = new DOMDocument();
if ($doc->load('new.xml'))
{
$userInfo = $doc->getElementsByTagName('Person');
foreach($userInfo as $row)
{
$phoneInfo = $row->getElementsByTagName("phoneNums");
foreach($phoneInfo as $row2)
{
// get the value from the first child
$work = $row2->getElementsByTagName("mobile")->item(0)->nodeValue;
$home = $row2->getElementsByTagName("landline")->item(0)->nodeValue;
echo $work;
}
}
}
?>
Quelle erreur obtenez-vous? À première vue je ne peux pas observer d'erreur. Avez-vous essayé par exemple, AVANT le premier foreach, un écho de count ($ userinfo)? Et si cela renvoie le bon nombre, alors immédiatement avant le second pour chaque écho de count ($ phoneInfo)? Pour avoir une idée du problème. – Soph
@soph - j'obtiens une erreur comme Essayer d'obtenir la propriété de non-objet. J'obtiens le compte correctement. Je reçois cette erreur à la ligne $ work = $ row2-> getElementsByTagName ("mobile") -> item (0) -> nodeValue; – Hacker
Ok, et si vous essayez de placer un 'echo count ($ phoneInfo)' juste avant le second foreach? Qu'est ce que tu obtiens?? (commenter la partie 'foreach' qui vient après) – Soph