2014-01-08 46 views
0
<info id="12AB" conf="D4XD"> 
<cinfo code="CB">Consumer Business</cinfo> 
<cinfo code="EB">Enterprise Business</cinfo> 
</info> 
<info id="12AB" conf="D4XD"> 
<cinfo code="CB">Consumer Business</cinfo> 
<cinfo code="EB">Enterprise Business</cinfo> 
</info> 

如何循環訪問cInfo元素,以便讀取值,即消費者業務和屬性值,即CB?在Php中循環遍歷元素和SimpleXmlElement的屬性

$obj = new SimpleXMLElement($xmldata); 
    foreach ($obj->children() as $cinfos) { 
????? 



    } 

回答

1

This應該這樣做:

$obj = new SimpleXMLElement($xml); 

foreach ($obj->cinfo as $cinfos) { 
    // This is the value 
    $val = $cinfos[0]; 
    echo $val."\r\n";; 
    // Iterate through the attributes 
    foreach($cinfos[0]->attributes() as $key => $val) { 
     echo $key,'="',$val,"\"\n"; 
    } 
} 
+1

沒有必要爲線'$ VAL = $ cinfos [0];'這裏 - '$ cinfos'已經從一個單一的元素' foreach'循環。通過轉換爲字符串來提取文本內容,例如, '$ val =(string)$ cinfo;'或者隱式地在'echo $ cinfo;'中。類似地,'foreach($ cinfos-> attributes()...'not'foreach($ cinfos [0] - > attributes()...'。 – IMSoP

+0

謝謝,那是做的工作。 – user1682701