ホームページ >バックエンド開発 >PHPチュートリアル >PHP での XML アプリケーション開発の基本_PHP チュートリアル

PHP での XML アプリケーション開発の基本_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:34:21772ブラウズ

1. XML の概要

XML (Extensible Markup Language) は、主に Web アプリケーションとサーバー間の対話、データの保存、使用を容易にするために使用される W3C 標準です。

XML 標準を使用してエンコードされたデータは、人間やコンピューターが簡単に解釈できる意味と構造を持っています。 XML データはプラットフォームやアプリケーションに依存しません。言うまでもなく、このこと自体が XML をインターネットにとって理想的なデータ交換形式にしています (実際、XML はまさにこの目的のために開発されました)。最近、ブロードバンド接続の成長と、あらゆる媒体でデータを共有するアプリケーションに対する消費者の需要により、XML Web サービスとアプリケーションがますますリッチになってきています。

XML は、Web 上の豊富なデータを記述するという組織上の問題を解決するために発明されましたが、これまでのところ、この問題は HTML を賢く使用することで部分的にしか解決できません。

以下は XML ドキュメントの例です:

<?xml version="1.0"?>
<パーティー>
<場所>私の家</場所>
<時間>午後7時</時間>
<ゲスト>
<名前>ジョン・ブログス</名前>
<item>里子の木箱</item>
</ゲスト>
<ゲスト>
<名前>サラ・ブログス</名前>
<アイテム>傘</アイテム>
</ゲスト>
<ゲスト>
<名前>デビッド・フィグ</名前>
<item>ボンベイミックス</item>
</ゲスト>
</パーティー>

これまで XML を見たことがない場合は、XML が HTML に似ていると考えることができます。 HTML は SGML アプリケーションであり、XML はそのサブセットです。ただし、類似点には、類似したラベル区切り文字があることも含まれます。

上の XML スニペットを見るだけで、データが多数のゲストを含むパーティーを記述していることがわかります。ゲストごとに 1 つのエントリが含まれています。データを説明するために使用されるラベル名はすべて作成者によって選択されます。すべての XML 標準では、データに一貫性があり、データの記述に使用されるタグが適切な形式である必要があります。文書型宣言 (DTD) または XML スキーマを使用して、データの整合性をさらに強化できます。ただし、簡単にするために、この記事ではプレーン XML のみを使用します。

2. XML アプリケーション

ここまで、XML を使用してあらゆる種類のデータを記述する方法を見てきました。実際、XML は現在、多くの Web アプリケーションで広く使用されています。以下に、有名なアプリケーションの説明をいくつか示します。
· XHTML - これは、最も広く使用されている XML アプリケーションの 1 つです。これは HTML に基づく SGML に似ており、Web ページ上でデータがどのように表示されるかを記述するために使用されます。 XHTML は DTD を使用して、すべてのドキュメントが標準に準拠していることを確認します。 XHTML の登場により、Web プログラマにとって開発は若干容易になりましたが、CSS および XHTML 標準と完全に互換性のある Web ブラウザはまだ登場していません。

XML-RPC - リモート プロシージャ コール (RPC)。分散アプリケーションでリモート コンピュータ上のプロシージャを呼び出すために使用されます。 XML-RPC は、XML を使用してプロシージャ呼び出しに関する情報をエンコードし、HTTP を使用してそれを受信側コンピューターに送信します。プロシージャの戻り値は XML で再度エンコードされ、HTTP 接続を使用して呼び出し元のコンピュータに送り返されます。

· RSS - Really Simple Syndication/Rich Site Summary。特別なアプリケーション (アグリゲータ) を使用して Web サイトのコンテンツ (ニュース、記事、株価、リンクなど) を集約する方法です。 ユーザーの RSS フィードバックを定期的に更新します。パソコン。この RSS データは XML を使用してエンコードされて送信されます。

· AJAX - 非同期 JavaScript および XML を使用すると、Web 開発者は、Web ブラウザーで実行される機能豊富なイベント駆動型 Web アプリケーションを作成できます。このうち JavaScript は、XML エンコードされたデータをサーバー側スクリプトに送信する (またはサーバー側から XML エンコードされたデータを受信する) ために使用され、すべてのページ コンテンツを更新せずに部分的なリアルタイム ページ更新を可能にします。

上記は、XML の可能なアプリケーションのほんの一部です。今後の記事では、これらのアプリケーションを PHP で使用する方法を分析します。


3. PHP での XML の使用
PHP 5.0 以降、PHP が XML と対話するために使用できるオプションが大幅に増加しました。 PHP バージョン 4 が提供できるのは、不安定で w3c と互換性のない DOM XML 拡張機能です。
以下では、XML との対話を可能にする PHP 5 が提供する 3 つのメソッド (DOM、シンプル XML、XPath) に焦点を当てます。可能な場合は、それぞれのアプローチに最適な条件とデータを提案します。すべてのサンプル コードでは、XML データ ソースを使用して、図書館とそこに含まれる書籍を記述します。


<xmlバージョン="1.0"?>
<図書館>
<カテゴリー>
<category cid="1">ウェブ開発</category>
<category cid="2">データベースプログラミング</category>
<category cid="3">PHP</category>
<category cid="4">Java</category>
</カテゴリー>
<本>
<本>
Apache 2
<著者>ピーター・ウェインライト</著者>
<出版社>Wrox</出版社>
<カテゴリー>1</カテゴリー>
</本>
<本>
高度な PHP プログラミング
<著者>ジョージ・シュロスナグル</著者>
<パブリッシャー>開発者ライブラリ</パブリッシャー>
<カテゴリー>1</カテゴリー>
<カテゴリー>3</カテゴリー>
</本>
<本>
Visual FoxPro 6 - プログラマー ガイド
<著者>エリック・ストロー</著者>
<出版社>Microsoft Press</出版社>
<カテゴリー>2</カテゴリー>
</本>
<本>
Java 2 をマスターする
<著者>ジョン・ズコウスキー</著者>
<出版社>サイベックス</出版社>
<カテゴリー>4</カテゴリー>
</本>
</books>
</ライブラリ>
4. ドム
DOM PHP 拡張機能により、W3C DOM API を使用した XML ドキュメントの操作が可能になります。 PHP 5 より前は、これが PHP が XML ドキュメントにアクセスできる唯一の方法でした。 JavaScript で DOM を使用したことがある場合は、これらのオブジェクト モデルがほぼ同一であることがわかるでしょう。

XML ドキュメントを走査および操作するための DOM メソッドはやや冗長であるため、DOM 準拠のコードには、同じ W3C 準拠のオブジェクト モデルを実装する他の A​​PI と互換性があるという明確な利点があります。

以下のコード例では、DOM を使用して各書籍に関する情報を表示します。まず、リスト ディレクトリを走査し、その ID と対応する名前をインデックス配列に読み込みます。次に、各書籍の短い説明を表示します。

PHP:


<?php
/*ここでは XML バージョンを指定する必要があります: 1.0 です */
$xml = 新しい DomDocument(1.0); $xml->load(xml/library.xml); /*まず、ディレクトリリストを作成します*/
$カテゴリ = 配列(); $XMLカテゴリ = $xml->getElementsByTagName(カテゴリ)->項目(0); foreach($XMLCategories->getElementsByTagName(category) as $categoryNode) {
/*属性の取得方法に注意してください*/
$cid = $categoryNode->getAttribute(cid); $categories[$cid] = $categoryNode->firstChild->nodeValue; }
?>
<html>
<頭>
<title>XML ライブラリ</title>
</頭>
<本体>
<?
php foreach($xml->getElementsBytagName(book) as $book):
/*タイトルを検索*/
$title = $book->getElementsByTagName(title)->item(0)->firstChild->nodeValue; /*作成者を検索します。簡単にするため、作成者は 1 人だけであると仮定します*/
$author = $book->getElementsByTagName(author)->item(0)->firstChild->nodeValue; /* ディレクトリの一覧表示*/
$bookCategories = $book->getElementsByTagName(カテゴリ); $猫リスト = ; foreach($bookCategories として $category) {
$catList .= $categories[$category->firstChild->nodeValue] , ; }
$catList = substr($catList, 0, -2) ?>
; <ディビジョン>




http://www.bkjia.com/PHPjc/508481.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/508481.html

技術記事

1. XML の概要 XML (Extensible Markup Language) は W3C 標準であり、主に Web アプリケーションとサーバー間の簡単な対話、データ保存、および使用に使用されます。 XML 標準を使用してコンパイルされました...

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。