2013-05-17 3 views
-2

У меня есть следующий файл, размещенный на удаленном сервере, я хочу добавить значения внутри этого файла в таблицы Mysql. Всего всего четыре стола.Вставка значений из файла XML в MySql:

Ниже размещено содержание файла. Я попытался построить пар PHP с именем Name Value, но я зациклился на том, как вставлять значения.

 <?xml version="1.0" encoding="utf-8"?> 
      <database name='anahuacForm'> 
      <table name='Details'> 
       <row> 
       <col name='_id'>1</col> 
       <col name='IDno'>Ggvbbvhh</col> 
       <col name='GIDno'>Vvb</col> 
       <col name='Name'>Bnb</col> 
       <col name='Owner'></col> 
       <col name='Breed'>Marwari horse</col> 
       <col name='Gender'>Gender</col> 
       <col name='Date'>16-May-2013</col> 
       <col name='Notes'></col> 
       <col name='Nature'>Nature</col> 
       <col name='Color'>Color</col> 
       <col name='Sire'></col> 
       <col name='Dam'></col> 
       <col name='Height'>0.0hh</col> 
       <col name='Foaled'></col> 
       <col name='Acquired'>16-May-2013</col> 
       <col name='image'>null</col> 
      </row> 
     </table> 
     <table name='Vaccination'> 
      <row> 
       <col name='_id'>1</col> 
       <col name='flag'>Pending</col> 
       <col name='HVID'>Ggvbbvhh</col> 
       <col name='Vname'>Rabies</col> 
       <col name='Vdate'>16-5-2013 </col> 
       <col name='Vtime'>17:22</col> 
      </row> 
     </table> 
     <table name='DeWorming'> 
      <row> 
       <col name='_id'>1</col> 
       <col name='flag'>Pending</col> 
       <col name='DVID'>Ggvbbvhh</col> 
       <col name='Dname'>Large strongyles</col> 
       <col name='Ddate'>16-5-2013 </col> 
       <col name='Dtime'>17:22</col> 
      </row> 
     </table> 
     <table name='Weight'> 
      <row> 
       <col name='_id'>1</col> 
       <col name='HWID'>Ggvbbvhh</col> 
       <col name='Wmeasure'> 32.27lbs</col> 
       <col name='WDate'>2013-05-16</col> 
      </row> 
     </table> 
    </database> 
+0

Взгляните на это, он должен помочь вам: HTTP: // DEV .mysql.com/doc/refman/5.6/en/load-xml.html – Matheno

+0

читайте об этом http://php.net/manual/en/function.xm...nto-struct.php look в примере 3 он превратит ваш XML в массив t Тогда вы могли бы использовать, чтобы создать запрос к базе данных, чтобы вставить его. – wcraft

+0

Я пробовал первую ссылку, но я ее не получаю. Второе звено не найдено. –

ответ

2

попробовать этот код я попробовал его за столом Прививка

<?php 
    $slideids = array(); 
    $xml = new DOMDocument(); 
    $xml->load('test.xml'); // path of your XML file ,make sure path is correct 
    $xpd = new DOMXPath($xml); 
    false&&$result_data = new DOMElement(); //this is for my IDE to have intellysense 
    $result = $xpd->query("//database/table[@name='Vaccination']/row/*"); // change the table name here 
    foreach($result as $result_data){ 
     $key = $result_data->getAttribute('name'); 
     $values = $result_data->nodeValue; 
     $slideids[$key] = $values; 
    } 

    echo $sql = "INSERT INTO Vaccination (_id, flag, HVID, Vname, Vdate, Vtime) 
     VALUES ('".$slideids['_id']."','".$slideids['flag']."','".$slideids['HVID']."','".$slideids['Vname']."','".$slideids['Vdate']."','".$slideids['Vtime']."')"; 

?> 

выход

INSERT INTO Vaccination (_id, flag, HVID, Vname, Vdate, Vtime) 
    VALUES ('1','Pending','Ggvbbvhh','Rabies','16-5-2013 ','17:22') 
+0

Лемме попробуйте это! –

+0

Вы спаситель! Человек берет лук :) –

+0

:) most welcome –

Смежные вопросы