最新のWeb開発のチュートリアル
×

PHP チュートリアル

PHP HOME PHP イントロ PHP インストール PHP 構文 PHP 変数 PHP エコー/印刷 PHP データの種類 PHP ストリング PHP 定数 PHP 演算子 PHP If...Else...Elseif PHP Switch PHP whileループ PHP Forループ PHP 機能 PHP 配列 PHP 配列のソート PHP スーパーグローバル

PHP 取り扱い

PHP フォーム 取り扱い PHP フォーム 検証 PHP フォーム 必須 PHP フォーム URL/E-mail PHP フォーム コンプリート

PHP 高度な

PHP 多次元配列 PHP 日時 PHP 含めます PHP ファイル 取り扱い PHP ファイル オープン/読みます PHP ファイル 作成/書きます PHP ファイル アップロード PHP Cookies PHP Sessions PHP フィルター PHP Filters 高度な PHP エラー 取り扱い PHP 例外

MySQL Database

MySQL データベース MySQL 接続 MySQL Create DB MySQL Create 表 MySQL Insert Data MySQL 最後のIDを取得します MySQL 複数の挿入 MySQL Prepared MySQL Select Data MySQL Delete Data MySQL Update Data MySQL Limit Data

PHP - XML

PHP XML パーサー PHP SimpleXML Parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX イントロ AJAX PHP AJAX データベース AJAX XML AJAX ライブ検索 AJAX RSSリーダー AJAX 世論調査

PHP Examples

PHP 例 PHP クイズ PHP 証明書

PHP 参照

PHP アレイ PHP カレンダー PHP 日付 PHP ディレクトリ PHP エラー PHP ファイルシステム PHP フィルタ PHP FTP PHP HTTP PHP Libxml PHP 郵便物 PHP 数学 PHP その他 PHP MySQLiを PHP SimpleXML PHP 文字列 PHP XML PHP Zip PHP 時間帯

 

PHP XML DOMパーサ


内蔵のDOMパーサはPHPでXML文書を処理することが可能になります。


XML DOMパーサ

DOMパーサは、ツリーベースのパーサーです。

次のXML文書の一部を見てください:

<?xml version="1.0" encoding="UTF-8"?>
<from>Jani</from>

DOMは、ツリー構造として上記のXMLを見ています:

  • レベル1:XMLドキュメント
  • レベル2:ルート要素: <from>
  • レベル3:テキスト要素: "Jani"

インスト

DOMパーサ関数は、PHPのコアの一部です。 これらの機能を使用するために必要な一切のインストールはありません。


XMLファイル

以下のXMLファイルには、私たちの例で使用されます。

<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

ロードおよび出力XML

我々は、XMLパーサーを初期化し、XMLをロードし、それを出力します:

<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");

print $xmlDoc->saveXML();
?>

上記のコードの出力は次のようになります。

Tove Jani Reminder Don't forget me this weekend!

あなたが選択した場合は"View source"ブラウザウィンドウで、次のようなHTMLが表示されます。

<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

例は上記のDOMDocument・オブジェクトを作成し、XMLからロード"note.xml"それに。

その後saveXML()関数は、文字列に内部XML文書を置きますので、我々は出力ができます。


XMLをループ

我々は、すべての要素をXML、およびループをロードし、XMLパーサーを初期化したい<note>要素:

<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");

$x = $xmlDoc->documentElement;
foreach ($x->childNodes AS $item) {
  print $item->nodeName . " = " . $item->nodeValue . "<br>";
}
?>

上記のコードの出力は次のようになります。

#text =
to = Tove
#text =
from = Jani
#text =
heading = Reminder
#text =
body = Don't forget me this weekend!
#text =

もし上記の例では、各要素間の空のテキストノードが存在することがわかります。

XMLを生成するとき、それは多くの場合、ノード間のホワイトスペースが含まれています。 XML DOMパーサーは、これらのような通常の要素を扱い、あなたがそれらを認識していない場合、彼らは時々問題を引き起こします。


あなたがXML DOMについての詳細を知りたい場合は、当社をご覧くださいXMLのチュートリアルを