2012-01-06 20 views
2

ページ変換:http://en.wikipedia.org/wiki/ISO_4217#Active_codes抽出テーブルのデータとXML文書へ

は、すべてを抽出することが可能です:

  • 通貨コード
  • 通貨タイトル
  • 通貨場所

と可能であればXML文書に保存してください。

0123このことができますが、私はあなたがややXML構造にWikiページを変換できることを発見した場合
<currency> 
    <AED> 
     <curr>United Arab Emirates dirham</curr> 
     <loc>United Arab Emirates</loc> 
    </AED> 
</currency> 
<currency> 
    <AFN> 
     <curr>Afghan afghani</curr> 
     <loc>Afghanistan</loc> 
    </AFN> 
</currency> 

私はわからない:

http://en.wikipedia.org/wiki/Special:Export/ISO_4217#Active_codes

感謝。

答えて

2

テーブルが作成され、これにより利用できる、ウィキ形式でされています http://en.wikipedia.org/w/index.php?title=ISO_4217&action=edit&section=4

あなたは配列にウィキフォーマットを解析するスクリプトを作成し、それからXMLを構築することができます。文字列を改行(例えば、explodeを使用)で分割し、次に各行を||で分割して、テーブルの列を区切ります。このような

何か:

$currencyList = array(); 
$source = "<insert wikipedia table code here>"; 

$rows = explode("\n", $source); // split the table in rows 

foreach($rows as $row) { 

    if(strlen(trim($row)) < 0) { continue; } // ignore empty rows 
    if(trim($row) == "|-") { continue; } // ignore table line separators 

    $row = substr($row, 2); // remove the "| " from the beginning of each row 

    $cols = explode("||", $row); // split the row in columns 

    $currency = array(// clean data and store in associative array 
     'code' => trim($cols[0]), 
     'number' => trim($cols[1]), 
     'digits_after_decimal' => trim($cols[2]), 
     'name' => trim($cols[3]) 
    ); 

    array_push($currencyList, $currency); // add the read currency to the list 

} 

var_dump($currencyList); // $currencyList now has a list of associative arrays with your data. 

あなたのXMLを構築するには、PHPのSimpleXMLを試すことができます。

+0

これは魅力的です!ありがとうございました。 – Nirmal

関連する問題