我想加载XML数据到我的php文件与地址数据。每个地址也应该有坐标-如果没有,他们应该添加。因此,我正在做以下操作:
$xmlDatei = "AddressData.xml";
$xml = simplexml_load_file($xmlDatei);
for($i=0,$size=count($xml);$i<$size;$i++){
if($xml->RECORD[$i]->ADDRESS->LAT != NULL){
//get lat and lng stuff here...
$lat = .......
$lng = .......
echo "lat: " . $lat; // Test echo WORKING
echo "lng: " . $lng;
// Now i want to add the data to the xml
$xml->RECORD[$i]->ADDRESS->addAttribute('LAT', $lat);
$xml->RECORD[$i]->ADDRESS->addAttribute('LNG', $lng);
$xml->saveXML();
}
// Test echo NOT WORKING
echo $xml->RECORD[$i]->ADDRESS->LAT;
echo $xml->RECORD[$i]->ADDRESS->LNG;
}
所以看起来addAttribute在这里没有正常工作。
我做错了什么?
您的echo正在寻找名为LAT
:
echo $xml->RECORD[$i]->ADDRESS->LAT;
但是你已经添加了一个属性,所以你需要使用不同的语法:
echo $xml->RECORD[$i]->ADDRESS['LAT'];
您正在向ADDRESS
标记添加属性,而不是节点。
试试这个:
echo $xml->RECORD[$i]->ADDRESS['LAT'];
echo $xml->RECORD[$i]->ADDRESS['LNG'];