A-AA+then

ขอ code PHP Save XML ลง MySQL

3,296
ช่วยหน่อยนะครับ   ขอบคุณครับ

7 ความคิดเห็น

XML ก็เป็น text ธรรมดาครับ รับมาได้ก็ save ได้เลย
1

จะเอาแต่รายละเอียดด้านในอ่ะคับ
2

ผมติดปัญหาเหมือนกัน ครับ  ตอนนี้ยังหาวิธีตัดคำที่ต้องการ เก็บ ลง database ไม่ได้เลยครับ

3

ดูบทเรียนเกี่ยวกับ rss ครับ rss จะมีวิธีแยกข้อความออกจาก node ต่างๆ ของ XML ซึ่งก็คงจะตอบคำถามที่ต้องการได้โดยไม่ต้องอธิบายซ้ำอีกครับ
4

เกี่ยวกับการ ดึงข้อมูลจาก xml มาลงใน array 2 มิติ นะครับ ลองประยุกต์ดูครับ ^^
แล้วก็ลองศึกษา sax ดูนะครับ ผมก็กำลังทำเรื่องนี้อยู่
<?php
$file = "x.xml";
$arr=array();
$count=0;
$block="DATA";

$key="";
$value="";
  
function startElement($parser, $name, $attrs) {
   
    global $key;
   
    $key=$name;

}

function endElement($parser, $name) {
    global $count;
    global $block;
    if($name == $block)
    {
        $count =$count+1;
    }   
}
  
function characterData($parser, $data) {
global $key;
global $value;
global $count;
global $arr;
if(strlen($data>0))
{
$value=$data;
$arr [$count]["$key"]=$value;
}
   //print $data."==>".$arr[1]["DATA_ITEM1"] ;
}
  
$simpleparser = xml_parser_create();
xml_set_element_handler($simpleparser, "startElement", "endElement");
xml_set_character_data_handler($simpleparser, "characterData");
  
if (!($fp = fopen($file, "r"))) {
  die("could not open XML input");
}
  
while($data = fread($fp, filesize($file))) {
  if (!xml_parse($simpleparser, $data, feof($fp))) {
     die(xml_error_string(xml_get_error_code($simpleparser)));
  }
}

xml_parser_free($simpleparser);


$test = array();

//print $arr[2]["DATA_ITEM0"];

for($i=0;$i<2;$i++)
    {for($j=0;$j<3;$j++)
    {   
        print $arr[$j]["DATA_ITEM".$i];
       
     }
    }
    //print $test[0];

?>

5

ขอบคุณครับ

 

6

- <FnoDailyTrdSumRpt:FnoDailyTrdSumRpt xmlns:FnoDailyTrdSumRpt="http://www.excel.com.hk/settlement/FnoDailyTrdSumRpt/">
- <FnoDailyTrdSumRpt:Header>
  <FnoDailyTrdSumRpt:ID>1234</FnoDailyTrdSumRpt:ID>
  <FnoDailyTrdSumRpt:Title> Report As At 1-/-2/2--9</FnoDailyTrdSumRpt:Title>
  <FnoDailyTrdSumRpt:Company>Test Company</FnoDailyTrdSumRpt:Company>
  <FnoDailyTrdSumRpt:PrintTime>2--9-21- 2-:-3</FnoDailyTrdSumRpt:PrintTime>
  <FnoDailyTrdSumRpt:BusDate>11/-2/2--9</FnoDailyTrdSumRpt:BusDate>
  </FnoDailyTrdSumRpt:Header>
- <FnoDailyTrdSumRpt:ClientTradeData>
- <FnoDailyTrdSumRpt:ClientTradeRecord>
  <FnoDailyTrdSumRpt:TDNo>0</FnoDailyTrdSumRpt:TDNo>
  <FnoDailyTrdSumRpt:ExtRefNo>123456852</FnoDailyTrdSumRpt:ExtRefNo>
  <FnoDailyTrdSumRpt:BuyQty>1</FnoDailyTrdSumRpt:BuyQty>
  <FnoDailyTrdSumRpt:SellQty>0</FnoDailyTrdSumRpt:SellQty>
  <FnoDailyTrdSumRpt:Price>76</FnoDailyTrdSumRpt:Price>
  <FnoDailyTrdSumRpt:ClosedQty>0</FnoDailyTrdSumRpt:ClosedQty>
  <FnoDailyTrdSumRpt:ContractCode>ADVANCH-9</FnoDailyTrdSumRpt:ContractCode>
  <FnoDailyTrdSumRpt:ContractName>ADVANC-3/2--9</FnoDailyTrdSumRpt:ContractName>
  <FnoDailyTrdSumRpt:CaccCode>999----928---3</FnoDailyTrdSumRpt:CaccCode>
  <FnoDailyTrdSumRpt:CaccName>ÊÁÈÑ¡´Ôì</FnoDailyTrdSumRpt:CaccName>
  <FnoDailyTrdSumRpt:ProductNatureCode>F</FnoDailyTrdSumRpt:ProductNatureCode>
  <FnoDailyTrdSumRpt:ProductNatureDesc>ADVANC</FnoDailyTrdSumRpt:ProductNatureDesc>
  <FnoDailyTrdSumRpt:FnoTypeCode>ADVANCF</FnoDailyTrdSumRpt:FnoTypeCode>
  <FnoDailyTrdSumRpt:ExBoard>TXS</FnoDailyTrdSumRpt:ExBoard>
  <FnoDailyTrdSumRpt:TradeCategory>F</FnoDailyTrdSumRpt:TradeCategory>
  </FnoDailyTrdSumRpt:ClientTradeRecord>
- <FnoDailyTrdSumRpt:ClientTradeRecord>
  <FnoDailyTrdSumRpt:TDNo>0F9</FnoDailyTrdSumRpt:TDNo>
  <FnoDailyTrdSumRpt:ExtRefNo>01456059</FnoDailyTrdSumRpt:ExtRefNo>
  <FnoDailyTrdSumRpt:BuyQty>0</FnoDailyTrdSumRpt:BuyQty>
  <FnoDailyTrdSumRpt:SellQty>1</FnoDailyTrdSumRpt:SellQty>
  <FnoDailyTrdSumRpt:Price>0</FnoDailyTrdSumRpt:Price>
  <FnoDailyTrdSumRpt:ClosedQty>1</FnoDailyTrdSumRpt:ClosedQty>
  <FnoDailyTrdSumRpt:ContractCode>GFG-9</FnoDailyTrdSumRpt:ContractCode>
  <FnoDailyTrdSumRpt:ContractName>GF</FnoDailyTrdSumRpt:ContractName>
  <FnoDailyTrdSumRpt:CaccCode>999</FnoDailyTrdSumRpt:CaccCode>
  <FnoDailyTrdSumRpt:CaccName>à¡ÉÁ</FnoDailyTrdSumRpt:CaccName>
  <FnoDailyTrdSumRpt:ProductNatureCode>F</FnoDailyTrdSumRpt:ProductNatureCode>
  <FnoDailyTrdSumRpt:ProductNatureDesc>Futures</FnoDailyTrdSumRpt:ProductNatureDesc>
  <FnoDailyTrdSumRpt:FnoTypeCode>GF</FnoDailyTrdSumRpt:FnoTypeCode>
  <FnoDailyTrdSumRpt:ExBoard>TXM</FnoDailyTrdSumRpt:ExBoard>
  <FnoDailyTrdSumRpt:TradeCategory>F</FnoDailyTrdSumRpt:TradeCategory>
  </FnoDailyTrdSumRpt:ClientTradeRecord>


ผมต้องการนำข้อมูล(เฉพาะข้อมูล)เฉพาะส่วนสีแดงมาเก็บไว้ใน data base ตามที่บอกมาผมทำไม่ได้อ่ะครับ ช่วยหน่อยนะครับ

 

7
^