php
  • mysql
  • xml
  • 2013-05-17 5 views -2 likes 
    -2

    다음 파일을 원격 서버에서 호스팅하고 있습니다.이 파일의 값을 MySQL 테이블에 추가하고 싶습니다. 네 개의 테이블이 있습니다.XML 파일의 값을 MySql에 삽입 :

    다음은 파일의 내용입니다. 이름 값 쌍 PHP 배열을 만들려고했지만 값을 삽입하는 방법에 대해 고민했습니다.

     <?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/ko/load-xml.html – Matheno

    +0

    읽으신 분은 입니다. http://php.net/manual/en/function.xm...nto-struct.php look 예제 3에서는 XML을 배열로 바꾼다. 모자 그럼 당신은 그것을 삽입하는 데이터베이스 쿼리를 만드는 데 사용할 수 – 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

    Lemme 시도해보십시오! –

    +0

    당신은 구세주입니다! 남자가 활을 가져 간다. –

    +0

    :) 가장 환영합니다 –

    관련 문제