2013-06-25 3 views
-1
<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<response docVer="1.0"> 
    <result code="0">OK</result> 
    <engineVer value="2.0.8"/> 
    <repInfo> 
     <version value="2.0.6.25180"/> 
     <expansion value="HotS"/> 
     <gameLength gameTimeValue="840" unit="sec" value="606"/> 
     <gameLength unit="frame" value="53760"/> 
     <gameType value="AutoMM"/> 
     <isCompetitive value="true"/> 
     <gameSpeed value="Faster"/> 
     <format value="2v2"/> 
     <gateway value="Europe"/> 
     <mapFile value="40/63/4063ce2135431de8ebea926f4263876e8e554d893262bf50718edd0556cf0920.s2ma"/> 
     <clients count="2"> 
      <client index="0" value="[Angels]KoT"/> 
      <client index="1" value="SCIIGears"/> 
     </clients> 

나는 $parsed = new SimpleXMLElement($result);을 사용하고 있습니다.PHP로 XML 파싱 : foreach 사용법

모든 클라이언트를 반복하고 echo의 값을 추출하려면 어떻게해야합니까?

플레이어 1 : 닉 이름

플레이어 2 : 닉 이름

등등. 나는 그와 붙어있다 foreach.

답변

0

그것을 할 수있는 가장 간단한 방법은 다음과 같습니다 (예를 들어)는 XPath 함께 : 어디에서나 문서

foreach ($parsed->xpath("//client") as $client) { 
    echo $client->value; // ... for example 
} 

문자열 "//client" 후비는 어떤 <client> 요소입니다.

+0

그리고 그 역시 잘 작동했습니다! 마찬가지로 : $ foreach ($ parsed-> xpath ("// client") $ client) { echo $ client [ 'value']; // ... 예 : }' –

0

이게 당신이 찾고 있는게 있니?

foreach($parsed->repInfo->clients->client as $client) 
{ 
    // do what you want, $client->attribute; 
} 
+0

Thx, 잘 작동했습니다 :'foreach ($ parsed-> repInfo-> clients-> client as $ client) { \t echo "
". $ client [ 'value']; ' } –