phpのSimpleXML方法読み书きXMLインターフェースファイルの実例解析


php 5でxml文書を読むのはとても便利です。直接phpのSimpleXML方法を使って、xml形式のファイルを素早く解析し、次の例を示します。
SimpleXMLオブジェクトを作成するには、3つの方法があります。
1.newキーワードで作成する

$xml="<personinfo><item><id>1</id><name>aaa</name><age>16</age></item>
<item><id>2</id><name>bbb</name><age>26</age></item></personinfo>";
$rss=new SimpleXMLElement($xml);
2.simplexml_を使用するロード.string()作成

$xml="<personinfo><item><id>1</id><name>aaa</name><age>16</age></item>
<item><id>2</id><name>bbb</name><age>26</age></item></personinfo>";
$rss=simplexml_load_string($xml);
3.simplexml_を使用するロード.file()は一つのURLから作成します。

$rss=simplexml_load_file("rss.xml");
// :
$rss=simplexml_load_file("/rss.xml");//
具体例は以下の通りです。

<?php
$xml="<personinfo><item><id>1</id><name>aaa</name><age>16</age></item><item><id>2</id><name>bbb</name><age>26</age></item></personinfo>";
$rss=new SimpleXMLElement($xml);
foreach($rss->item as $v){
 echo $v->name,'<br />';
}
echo $rss->item[1]->age;//
echo '<hr>';
$rss->item[1]->name='ccc';//
foreach($rss->item as $v){
 echo $v->name,' <br /> ';//aaa <br /> ccc <br />
}
echo '<hr>';
unset($rss->item[1]);//
foreach($rss->item as $k=>$v){
 echo $v->name,' <br /> ';//aaa <br />
}
echo '<hr>';
//
$item=$rss->addChild('item');
$item->addChild('id','3');
$item->addChild('name','ccc_new');
$item->addChild('age','40');
foreach($rss->item as $k=>$v){
 echo $v->name,' <br /> ';//aaa <br /> ccc_new <br />
}
$rss->asXML('personinfo.xml');
?>
上記の例をさらに分析すると次のようになります。

//xml
// 。 。
foreach($rss->item as $v){
    echo $v->name,' <br /> ';//aaa <br /> bbb <br />
}
echo $rss->item[1]->age;//26
//xml ,
$rss->item[1]->name='ccc';//
foreach($rss->item as $v){
    echo $v->name,' <br /> ';//aaa <br /> ccc <br />
}
// php unset
unset($rss->item[1]);
foreach($rss->item as $v){
    echo $v->name,' <br /> ';//a www.jb51.net aa <br />
}
//xml , addChild
$item=$rss->addChild('item');
$item->addChild('id','3');
$item->addChild('name','ccc_new');
$item->addChild('age','40');
foreach($rss->item as $k=>$v){
    echo $v->name,' <br /> ';//aaa <br /> ccc_new <br />
}
//xml
// asXML()
$rss->asXML('personinfo.xml');// xml personinfo.xml