例を使用して作成、解析、読み取り

XMLとは何ですか?

XMLは、Extensible MarkupLanguageの頭字語です。

XMLは、あるシステムから別のシステムにデータを構造化、保存、および転送するために使用されます。

XMLはHTMLに似ています。

開始タグと終了タグを使用します。

HTMLとは異なり、XMLではユーザーが独自のタグを定義できます。

このチュートリアルでは、次のことを学びます-

DOMとは何ですか?

DOMは、Document ObjectModelの頭字語です。

これは、データにアクセスして操作する方法を定義する、クロスプラットフォームおよび言語に依存しない標準です。

DOM XMLは、XMLドキュメントにアクセスして操作するために使用されます。 XMLドキュメントをツリー構造として表示します。

XMLパーサー

XMLパーサーは、XMLドキュメントをXMLドキュメントオブジェクトモデル(DOM)オブジェクトに変換するプログラムです。

XML DOMオブジェクトは、JavaScript、Python、PHPなどを使用して操作できます。

(Unparsed)Character Dataの頭字語であるキーワードCDATAは、XMLドキュメントを解析するときに「<、>」などの特殊文字を無視するために使用されます。

なぜXMLを使用するのですか?

  • SOAPやRESTなどのWebサービスは、XML形式を使用して情報を交換します。 最新のアプリケーションはWebサービスを多用しているため、XMLとは何か、どのように機能するかを学ぶことで、開発者としての競争上の優位性を得ることができます。
  • XMLドキュメントを使用して、アプリケーションの構成設定を保存できます
  • これにより、独自のカスタムタグを作成して、より柔軟にすることができます。

XMLドキュメントの例

WebサービスからXML形式でデータを取得するアプリケーションを開発しているとしましょう。

以下は、XMLドキュメントがどのように見えるかのサンプルです。


<?xml version="1.0" encoding="utf-8"?>

<employees status = "ok">

        <record man_no = "101">

            <name>Joe Paul</name>

            <position>CEO</position>

        </record>

        <record man_no = "102">

            <name>Tasha Smith</name>

            <position>Finance Manager</position>

        </record>

</employees>

ここに、

  • 「<?xmlversion = "1.0" encoding = "utf-8"?>」は、使用およびエンコードするxmlバージョンを指定します
  • 」がルート要素です。
  • 」は、それぞれ管理と販売の子要素です。

PHPを使用してXMLを読み取る方法

次に、従業員のXMLドキュメントを読み取り、結果をWebブラウザに表示するコードを記述しましょう。 Index.php


<?php

$xml = simplexml_load_file('employees.xml');

echo '<h2>Employees Listing</h2>';

$list = $xml->record;

for ($i = 0; $i < count($list); $i++) {

    echo '<b>Man no:</b> ' . $list[$i]->attributes()->man_no . '<br>';

    echo 'Name: ' . $list[$i]->name . '<br>';

    echo 'Position: ' . $list[$i]->position . '<br><br>';

}
?>

ここに、

  • 「$ xml = simplexml_load_file( ’employees.xml’);」 simplexml_load_file関数を使用して、ファイル名employees.xmlをロードし、その内容を配列変数$ xmlに割り当てます。
  • 「$ list = $ xml-> record;」 レコードノードの内容を取得します。
  • 「for($ i = 0; $ i
  • 「$ list[$i]-> attributes()-> man_no;」 要素のman_no属性を読み取ります
  • 「$ list[$i]->名前;」 名前の子要素の値を読み取ります
  • 「$ list[$i]->位置;」 位置の子要素の値を読み取ります

アプリケーションのテスト

ファイルindex.phpをphptus / xmlフォルダーに保存したとすると、次のURLを参照します。 http://localhost/phptuts/xml/index.php

PHPを使用してXMLドキュメントを作成する方法

次に、PHPを使用してXMLドキュメントを作成する方法を見ていきます。

上記の例をDOMツリー図で使用します。

次のコードは、クラスDOMDocumentに組み込まれているPHPを使用してXMLドキュメントを作成します。


<?php

	$dom = new DOMDocument();

		$dom->encoding = 'utf-8';

		$dom->xmlVersion = '1.0';

		$dom->formatOutput = true;

	$xml_file_name="movies_list.xml";

		$root = $dom->createElement('Movies');

		$movie_node = $dom->createElement('movie');

		$attr_movie_id = new DOMAttr('movie_id', '5467');

		$movie_node->setAttributeNode($attr_movie_id);

	$child_node_title = $dom->createElement('Title', 'The Campaign');

		$movie_node->appendChild($child_node_title);

		$child_node_year = $dom->createElement('Year', 2012);

		$movie_node->appendChild($child_node_year);

	$child_node_genre = $dom->createElement('Genre', 'The Campaign');

		$movie_node->appendChild($child_node_genre);

		$child_node_ratings = $dom->createElement('Ratings', 6.2);

		$movie_node->appendChild($child_node_ratings);

		$root->appendChild($movie_node);

		$dom->appendChild($root);

	$dom->save($xml_file_name);

	echo "$xml_file_name has been successfully created";
?>

ここに、

アプリケーションのテスト

ファイルcreate_movies_listをphptuts / xmlフォルダーに保存したとすると、次のURLを参照します。 http://localhost/phptuts/xml/create_movies_list.php

movies_list_xmlリンクをクリックします

概要

  • XMLはExtensibleMarkupLanguageの頭字語です
  • XMLは、システム間で情報を交換したり、アプリケーションの構成設定を保存したりするために使用できます。
  • DOMは、Document ObjectModelの頭字語です。 XML DOMは、XMLドキュメントをツリー構造として表示します
  • XMLパーサーは、XMLXMLドキュメントをドキュメントのようなDOMツリー構造に変換するプログラムです。
  • CDATAは、XMLドキュメントを解析するときに特殊文字を無視するために使用されます。
  • PHPはsimplexml_load_fileを使用してXMLドキュメントを読み取り、結果を数値配列として返します
  • XMLファイルを作成するためのPHPDOMDocumentクラス。

Hope this helps!

Source link