首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将simplexml解析为MYSQL

问将simplexml解析为MYSQL
EN

Stack Overflow用户
提问于 2015-07-21 16:37:29
回答 2查看 88关注 0票数 0

我有一个api,发送到一个数据库,结果以xml格式返回,这很好,我可以将结果输出到屏幕上,没有问题。xml提要是按属性详细信息列表显示的。我要做的是使用下面的代码将结果存储在mysql数据库中。

代码语言:javascript
复制
  $feeds = array('http://web.demo.net/ademo_search.xml?  &upw=123456');
 foreach( $feeds as $feed ) {
$xml = simplexml_load_file($feed);

foreach($xml->channel->item as $item)
{

mysql_query("INSERT INTO property1 (id, department, branch, address1) 
VALUES (
    '', 
    '".mysql_real_escape_string($item->id)."', 
    '".mysql_real_escape_string($item->department)."', 
    '".mysql_real_escape_string($item->branch)."', 
    '".mysql_real_escape_string($item->address1)."')");       
     }
  }

当我运行这段代码时,我不会收到错误,数据也不会被添加到数据库中。

这里有一个指向xml结构的链接,您将在我的测试中看到,我只是尝试插入前几项。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-21 18:38:39

这正是您所需要的:)

但愿你能喜欢

代码语言:javascript
复制
$feed = "test.xml";
$xml = simplexml_load_file($feed);

$arr = array();
$i = 0;
foreach($xml->houses->property as $item){
    $arr[$i][] = (string) $item->id;
    $arr[$i][] = (string) $item->department;
    $arr[$i][] = (string) $item->branch;
    $arr[$i][] = (string) $item->address->address1;
    $i++;
}
var_dump($arr); // now you have them in an array .. store them in db ;)
票数 0
EN

Stack Overflow用户

发布于 2015-07-21 16:42:55

首先:在feed数组中,有几个空格,这可能会导致解析url并返回404错误之类的问题(不确定,但请检查它)

第二:在查询中,删除'',因为您有4个列,其中有5个变量传递给它们

第三:您可能希望通过在分号之前的查询后添加MySQL来查看or die(mysql_error())错误。

第四:考虑用mysqli或PDO替换mysql。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31544817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档