2009-10-25 8 views
0

J'ai un problème lors de l'utilisation de simplexml pour lire un document XML que je récupère d'un appel de service Web.document xml imbriqué dans le document Simplexml

La lecture des données est correcte, mais un nœud appelé UserArea contient un document XML imbriqué qui contient des espaces de noms.

De this question sur SO J'ai examiné comment gérer les nœuds enfants. Cependant, lorsque j'appelle le noeud contenant ce code XML imbriqué, je reçois un résultat nul.

Les données ressemble à ceci:

<UserArea> 

<rm:EngineVersion>4.2.0.62</rm:EngineVersion> 

<rm:DocumentFormat>305</rm:DocumentFormat> 

<rm:Industry>AUT</rm:Industry> 

<rm:Department>GEN</rm:Department> 

<rm:HighestDegree year="2004" major="COMPUTER PROGRAMMING">BACHELORS</rm:HighestDegree> 

<rm:ExperienceSummary> 

    <rm:Experience> 

    <rm:ExperienceKind>Summary</rm:ExperienceKind> 

    <rm:Years>11</rm:Years> 

    <rm:Detail>A total of 11 years of work experience.</rm:Detail> 

    </rm:Experience> 

    <rm:Experience> 

    <rm:ExperienceKind>HighestIndustry</rm:ExperienceKind> 

    <rm:Years>5</rm:Years> 

    <rm:Industry>AUT</rm:Industry> 

    <rm:Detail>Highest industry-related experience is 5 years in automotive  </rm:Detail> 

    </rm:Experience> 
</rm:ExperienceSummary> 
</UserArea> 

Je suis d'idées parce que le code:

foreach($myObject->UserArea->children as $userAreaXML){ 

    foreach($userAreaXML->ExperianceSummary as $summary){ 
     echo $summary->Detail; 
    } 
} 

ne fonctionne tout simplement pas.

Répondre

0

Ce code permet d'imprimer les détails

$experiences = $myObject->ExperienceSummary->Experience; 

foreach($experiences as $experience) { 
echo $experience->Detail . "<br>"; 
}