Ben bu gibi bir xml işlemek istiyorum:
<GeocodeResponse>
<status>OK</status>
<result>
<type>street_address</type>
<address_component>
<long_name>Beijing</long_name>
<short_name>Beijing</short_name>
<type>locality</type>
<type>political</type>
</address_component>
<address_component>
<long_name>Beijing</long_name>
<short_name>Beijing</short_name>
<type>administrative_area_level_1</type>
<type>political</type>
</address_component>
</result>
</GeocodeResponse>
Ben ne yapmak istediğimi döngü
Bu kullanırken:
$doc = new DOMDocument();
$doc->loadXML($contents);
$addresses=$doc->getElementsByTagName("address_component");
foreach($addresses as $address){
$nodes = $address->$childNodes; //error arise here
for($i=0;$i<count($nodes);$i++){
//do work
}
}
Her zaman gösterecek:
Fatal error: Cannot access empty property in C:\xampp\htdocs\read.php on line
$nodes = $address->$childNodes;
aşağıda kod ile çalışıyor ise:
$doc = new DOMDocument();
$doc->loadXML($contents);
$addresses=$doc->getElementsByTagName("address_component");
for($k=0;$k<$addresses->length;$k++){
$type_elements = $addresses->item($k)->getElementsByTagName('type');
//do work
}
Ben 'foreach' ne zaman ilk örnekte bu iki yöntem arasındaki farkı göremiyorum, ben olsun $ adres bir tek < address_component> bunun gibi bir öğe:
<address_component>
<long_name>Beijing</long_name>
<short_name>Beijing</short_name>
<type>administrative_area_level_1</type>
<type>political</type>
</address_component>
değil mi?
ve tabii ki $ gibi childNodes vardır < long_name>, < SHORT_NAME> vs
ama neden ben boş mülkiyet olsun?