Php 如何在CodeIgniter中使用createElement()函数?

Php 如何在CodeIgniter中使用createElement()函数?,php,xml,codeigniter,Php,Xml,Codeigniter,我想使用CodeIgniter在XML文件中创建一个元素,但每次我都会遇到一个致命错误:“调用未定义的方法SimpleXMLElement::createElement()。这是我在控制器、视图和模型类中的代码,我做错了什么 控制器(xml\u insert.php): <?php class Xml_insert extends CI_Controller { function index() { $this->load->model('xml_inse

我想使用CodeIgniter在XML文件中创建一个元素,但每次我都会遇到一个致命错误:“调用未定义的方法SimpleXMLElement::createElement()。这是我在控制器、视图和模型类中的代码,我做错了什么

控制器(xml\u insert.php):

    <?php

class Xml_insert extends CI_Controller {

function index() {

    $this->load->model('xml_insert_model');
    $data['rows'] = $this->xml_insert_model->getAll();
    $this->load->view('xml_insert_view', $data);
}

function insert() {
    $this->load->model('xml_insert_model');
    $data['rows'] = $this->xml_insert_model->getAll();

    foreach ($data['rows'] as $r) {
        $path1 = $r->xml_file_path;
        $xml = simplexml_load_file($path1);

        $newAct = $_POST['activity'];

        $root = $xml->firstChild;

        $newElement = $xml->createElement('activity');
        $root->appendChild($newElement);
        $newText = $xml->createTextNode($newAct);
        $newElement->appendChild($newText);

        $xml->save('$path1');
        $this->index();
    }
}

}
    <!doctype html>
    <html lang="en">
    <head>
 <meta charset="UTF-8">
 <title>Document</title>
    </head>
    <body>
   <?php foreach ($rows as $r): ?>
    <?php
            $path1 = $r->xml_file_path;
            $xml = simplexml_load_file($path1);
    ?>
    <?php  foreach ($xml->children() as $activity) : ?>
    <?php echo "Activity : " . $activity . " <br />"; ?>
    <?php endforeach; ?>
      <?php endforeach; ?>

      <form name="input" action="index.php/xml_insert/insert" method="post">
      insert activity:
      <input type="text" name="activity"/>
      <input type="submit" value="send"/>
      </form>
  </body>
</html>
    <?php
    class Xml_insert_model extends CI_Model
    {
      function getAll()
      {

         $q = $this->db->get("XML");

         if ($q->num_rows > 0) {

           foreach ($q->result() as $row) {
              $data[] = $row;
           }

          return $data;
         }
      }
   }

插入活动:
模型(xml\u insert\u Model.php):

    <?php

class Xml_insert extends CI_Controller {

function index() {

    $this->load->model('xml_insert_model');
    $data['rows'] = $this->xml_insert_model->getAll();
    $this->load->view('xml_insert_view', $data);
}

function insert() {
    $this->load->model('xml_insert_model');
    $data['rows'] = $this->xml_insert_model->getAll();

    foreach ($data['rows'] as $r) {
        $path1 = $r->xml_file_path;
        $xml = simplexml_load_file($path1);

        $newAct = $_POST['activity'];

        $root = $xml->firstChild;

        $newElement = $xml->createElement('activity');
        $root->appendChild($newElement);
        $newText = $xml->createTextNode($newAct);
        $newElement->appendChild($newText);

        $xml->save('$path1');
        $this->index();
    }
}

}
    <!doctype html>
    <html lang="en">
    <head>
 <meta charset="UTF-8">
 <title>Document</title>
    </head>
    <body>
   <?php foreach ($rows as $r): ?>
    <?php
            $path1 = $r->xml_file_path;
            $xml = simplexml_load_file($path1);
    ?>
    <?php  foreach ($xml->children() as $activity) : ?>
    <?php echo "Activity : " . $activity . " <br />"; ?>
    <?php endforeach; ?>
      <?php endforeach; ?>

      <form name="input" action="index.php/xml_insert/insert" method="post">
      insert activity:
      <input type="text" name="activity"/>
      <input type="submit" value="send"/>
      </form>
  </body>
</html>
    <?php
    class Xml_insert_model extends CI_Model
    {
      function getAll()
      {

         $q = $this->db->get("XML");

         if ($q->num_rows > 0) {

           foreach ($q->result() as $row) {
              $data[] = $row;
           }

          return $data;
         }
      }
   }

游动
跑步
慢跑
剧院
程序设计
驱动
吃

我认为您正在尝试使用
DomDocument

而不是

$xml=simplexml\u加载文件($path1)

试一试


如果愿意,您可以使用
simpleXML的
addChild
方法。

您需要进一步定义您的特定问题。粘贴所有代码不会得到太多支持。我的第一个想法是,基于简介,不需要看代码,您确定createElement函数对您可用吗?