XMLの文字列データをパースして処理を行う

概要

simplexml_load_string


サンプル

<?php
	// XMLデータ生成
$string = <<<XML
<?xml version='1.0'?>
<document>
	<title type="a">Forty What?</title>
	<from>Joe</from>
	<to>Jane</to>
	<body>
		I know that's the answer -- but what's the question?
	</body>
	<list>
		<item id="1">1111</item>
		<item id="2">2222</item>
		<item id="3">3333</item>
	</list>
</document>
XML;
 
	// XMLを解凍
	$xml = simplexml_load_string($string);
 
	// 出力
	echo "<pre>";
	var_dump($xml);
	echo "</pre>";
 
	// 区切り
	echo "<hr>";
 
	// 簡単な値の取得方法としてはテキストノードのデータは$xml->ノードで取得
	echo $xml->title . "<br />";
	// 属性のデータはテキストノード['属性名']となる
	echo $xml->title['type'];
 
	// 区切り
	echo "<hr>";
 
	// 展開して取得することも可能のはずであるが、深すぎると解析に手間取る
	foreach($xml as $key => $value){
		echo "<pre>";
		var_dump($key . ":" . $value[0]);
		var_dump($value);
		var_dump($value->count());
		var_dump($value->attributes()->count());
		echo "</pre>";
	}
 
?>
 
 



最終更新:2012年08月23日 07:53