【问题标题】:how can i put xml files into database and after this retrieve them我如何将 xml 文件放入数据库并在此之后检索它们
【发布时间】:2014-03-24 04:36:15
【问题描述】:

我有问题。是否有可能将我的 xml 文件放入数据库并从中访问它们。我有这个从 xml 文件中获取内容的函数:

function getFeed()
{
    $content = file_get_contents('http://feeds.reuters.com/reuters/technologyNews');
    $x = new SimpleXmlElement($content);
    foreach($x->channel->item as $entry) {
        $feeds = array('title' => (string)$entry->title
                );
        $this->session->set_userdata($feeds);
        $this->load->model('membership_model');
        $this->membership_model->feeds();
    }   

以及将标题插入数据库并在此之后将标题作为链接格式的模型。但我想这不是一个好主意,因为它不起作用。

function feeds()
{   
    $this->db->empty_table('feeds');
    $this->db->set('title',$this->session->userdata('title'));
    $this->db->insert('feeds');
    $get_feed = $this->db->get('feeds');
    foreach ($get_feed->result() as $row){
        echo "<a href='$row->title'>".$row->title."</a><br/>";
        }

【问题讨论】:

  • 是否要将xml内容保存在表格的单个字段中?
  • 首先我想保存标题、内容以及标题的 URL 或哈希是否可能?
  • 那么,你打算把xml文件内容保存在一个列中对吧?
  • 是的,然后从数据库中检索内容
  • 我问您是否要将整个文件内容存储在表格字段中?还是每个 xml 标记在表中都有列?

标签: xml codeigniter


【解决方案1】:

您可以使用insert batch

首先准备数组以进行批量插入。

function getFeed()
{
    $content = file_get_contents('http://feeds.reuters.com/reuters/technologyNews');
    $x = new SimpleXmlElement($content);
    foreach($x->channel->item as $entry) {
        $feeds[] = array(
                         'title' => (string)$entry->title,
                         'url'=> (string)$entry->url, // ad more fields if needed                        
                );

        $this->load->model('membership_model');
        $this->membership_model->feeds($feeds);
    }
 //load view with data. No need to get same data from db again.
 $this->load->view("feed_list",array("feeds"=>$feeds));
}

在模型中:

function feeds($feeds_data)
{   
    $this->db->empty_table('feeds');   
    $this->db->insert_batch('feeds', $feeds_data);    
}

在视图中

 foreach($feeds as $f)
{
   echo "<a href='".$f["url"]."'>".$f["title"]."</a><br/>";
}

【讨论】:

  • 网址无效。在视图中,当我单击一个链接时,它不会在网站上重定向我。
  • kumar_v. codeigniter 有 on_duplicate_key_update 函数吗?我只想插入不存在的行。如果该行存在,我想更新它。
猜你喜欢
  • 1970-01-01
  • 2019-05-08
  • 1970-01-01
  • 1970-01-01
  • 2021-12-29
  • 1970-01-01
  • 2020-11-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多