PHP从simplexml_load_file获取xml块

时间:2012-10-26 08:47:27

标签: php xml

我正在将一些数据从kml文件导出到mysql,有一个xml chunk <multigeometry>我想在数据库中保存为原始xml(因为它太复杂而无法分解),我的计划是使用json_encode然后在读取mysql表时将json转换回xml但是这个任务证明是非常复杂的,

是否有可能以某种方式从stdclass获取xml?或者有更好的方法将此保存在数据库中并转换回XML吗?

$xml = simplexml_load_file("countries.kml")
foreach($xml->children() as $nodes){
    foreach($nodes->children() as $n => $data){
        mysql_query("insert into tbl_countries (varname,ISOA2,multigeometry) values ('".$data->name."','".substr($data->description,7,2)."','".json_encode($data->MultiGeometry)."')") or die(mysql_error());
          }
}

1 个答案:

答案 0 :(得分:0)

您应该能够使用asXML方法从任何SimpleXMLElement重新创建xml部分。

只需将json_encode($data->MultiGeometry)部分替换为$data->MultiGeometry->asXML()

注意:强制不再使用mysql_*函数,不推荐使用,请参阅choosing mysl api page.