вложенный XML-документ в документе Simplexml - xml


0

У меня проблема при использовании simplexml для чтения XML-документа, который я получаю от вызова webservice.

Чтение данных прекрасно, однако один node, называемый UserArea, содержит вложенный XML-документ, который содержит пространства имен.

Из этот вопрос на SO Я посмотрел, как обращаться с дочерними узлами. Однако, когда я вызываю node, у которого есть этот вложенный XML-код, я возвращаюсь обратно.

Данные выглядят следующим образом:

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

просто не работает.

Источник
  •  11
  •  2
  • 20 апр 2020 2020-04-20 19:49:52

2 ответа

0

Этот код распечатает детали

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

foreach($experiences as $experience) {
 echo $experience->Detail . "<br>";
}
  • 20 апр 2020 2020-04-20 19:49:53
1

Возможно, вы захотите прочитать http://www.sitepoint.com/blogs/2005/10/20/simplexml-and-namespaces/. Невозможно объяснить гораздо яснее.

  • 20 апр 2020 2020-04-20 19:49:53