$変数 = $オブジェクト->ノード;こんな具合ですね。「ノード」というのは、XMLのデータに書かれている1つ1つのタグのことと考えて下さい。これがSimpleXMLElementオブジェクトとして生成されると、それぞれのタグごとにオブジェクトになってまとめられることになります。この個々の要素を示すオブジェクトのことを、ノードと呼んだりするのです。
$xml = new SimpleXMLElement("data.xml",0,true);data.xmlからSimpleXMLElementを作成します。そして、ここから<data>タグのノードをまとめて取り出します。$data_arr = $xml->data;このように、$xml->dataとノード名を指定することでそのノードが取り出せてしまいます。実に簡単ですね。後は繰り返しを使って1つ1つのノードを処理していきます。
foreach ($data_arr as $row) {……略このようにすれば、ノードオブジェクトの配列から順にオブジェクトを$rowに取り出していきます。後は、この$rowから各要素の値を取り出してテキストにまとめていくだけです。$data .= "<td>" . $row->name . "</td>";基本的な使い方がわかれば、XMLの利用は非常に簡単なことがわかるでしょう。
$data .= "<td>" . $row->version . "</td>";
$data .= "<td>" . $row->price . "</td>";
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
<?php
$data = "";
$xml = new SimpleXMLElement("data.xml",0,true);
$data_arr = $xml->data;
foreach ($data_arr as $row) {
$data .= "<tr>";
$data .= "<td>" . $row->name . "</td>";
$data .= "<td>" . $row->version . "</td>";
$data .= "<td>" . $row->price . "</td>";
$data .= "</tr>";
}
?>
<!doctype html>
<html lang="ja">
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=UTF-8" />
<title>sample page</title>
<style>
h1 { font-size:14pt;
padding:5px;
background-color:#AAFFFF; }
table tr td {
padding:5px;
background-color:#DDFFCC; }
</style>
</head>
<body>
<h1>Hello PHP!</h1>
<table>
<tr><th>Name</th><th>Version</th><th>Price</th></tr>
<?php echo $data; ?>
</table>
</body>
</html>
| << 前へ | 次へ >> |