2011年11月19日土曜日

PHP でXMLファイルを読み込む

PHP では、XML ファイルを読み込むことができる。以下はそのサンプル


<?php

$root = simplexml_load_file('sample.xml');
foreach($root->children() as $data)
    echo(mb_convert_encoding($data->name . "," . $data->mail . "," . $data->tel,'sjis','utf-8') . "\n");

?>

使った、sample.xmlファイルは以下のとおり
<?xml version="1.0" encoding="utf-8"?>
<datas>
    <data>
         <name>yamada</name>
 <mail>yamada.taro@gmail.com</mail>
 <tel>090-1111-1111</tel>
    </data>
    <data>
         <name>tsuyano</name>
 <mail>tuyano@mac.com</mail>
 <tel>090-1111-1111</tel>
    </data>
    <data>
 <name>hanako</name>
 <mail>hanako@flower</mail>
 <tel>080-7777-7777</tel>
    </data>
</datas>



PHPでxmlファイルを編集する

<?php
function addToXMLData($root,$name,$mail,$tel){ $obj=$root->addChild('data'); $obj->addChild('name',mb_convert_encoding($name,'utf-8','sjis')); $obj->addChild('mail',mb_convert_encoding($mail,'utf-8','sjis')); $obj->addChild('tel',mb_convert_encoding($tel,'utf-8','sjis')); } function saveXMLData($name,$mail,$tel){ $root = simplexml_load_file('sample.xml'); addToXMLData($root,$name,$mail,$tel); $root->asXML('sample.xml'); } echo "input name:"; $name = trim(fgets(STDIN)); echo "input mail:"; $mail = trim(fgets(STDIN)); echo "input tel:"; $tel = trim(fgets(STDIN)); saveXMLData($name,$mail,$tel); ?>

0 件のコメント:

コメントを投稿