2009-10-25 56 views
0

我使用simplexml来读取我从web服务调用回来的xml文档时遇到问题。在Simplexml文档中嵌套的xml文档

读取数据是正常的,但是一个名为的用户区域包含一个包含名称空间的嵌套XML文档。

this question因此我研究过如何处理子节点。但是,当我调用具有此嵌套XML的节点时,它返回null。

的数据是这样的:

<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> 

我的想法,因为代码:

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

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

是行不通的。

回答

0

这段代码打印出来的细节

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

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