2014-02-17 48 views
0

在Php中的新手,並希望解析我的PhpMyAdmin數據庫中的表內的XML響應,並解析它們後,我想插入響應,這是一個16位數字到不同的表。如何解析XML字符串

的XML字符串的例子我處理如下:

<?xml version="1.0" encoding="utf-8" ?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><ns1:sendSmsResponse xmlns:ns1="http://www.csapi.org/schema/parlayx/sms/send/v2_2/local"><ns1:result>1000022003011402 

我已經研究瞭如何通過PHP的解析XML字符串和上面的XML字符串可以作如下分析:

<?php 

$xml=simplexml_load_file("<?xml version="1.0" encoding="utf-8" ?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><ns1:Response xmlns:ns1="http://www.csapi.org/schema/parlayx/sms/send/v2_2/local"><ns1:result>1000022003011402; 
"); 
echo $xml->result() . "<br>"; 

foreach($xml->result() as $delivery_result) 
    { 
    echo $delivery_result->getResult() . ": " . $delivery_result . "<br>"; 
    } 

?> 

但我堅持如何解析我的PhpAdmin數據庫中的衆多字符串,並將結果插入到一個差異表中,只要指向正確的方向我我肯定會到達那裏。

這是怎麼了登錄到我的數據庫:

#set the connection 

my $dbh =DBI->connect('DBI:mysql:NBKANGO', 'Kango', 'XXXXXXXXX') || die "Could not connect to database: $DBI::errstr"; 
+1

現在你已經連接到數據庫做,查詢包含xml字符串的表,循環遍歷它們並使用simplexml_load_string創建一個xml對象並提取所需的數字。 – Robbert

+0

@羅伯特感謝您的反饋,我可以很容易地查詢數據庫,但我怎麼去循環查詢的結果,有一點卡住了。謝謝 – Willing2Learn

+0

我們非常樂意提供幫助,但我們不會爲您編寫代碼。一個簡單的谷歌PDO查詢數據庫應該給你這個答案。嘗試一下,寫下一些代碼,然後回到你遇到的任何問題。 – Robbert

回答

0

如果你想比MySQL中,你可以嘗試這樣

SELECT SUBSTRING(field,LOCATE('<ns1:result>', field),resultlength); 
+0

感謝您的反饋,您是否可以詳細解釋一下,因爲我只是在學習如何編寫代碼,謝謝! – Willing2Learn