ホームページ php教程 php手册 PHP は XML の簡単なサンプル コードを生成します

PHP は XML の簡単なサンプル コードを生成します

Jun 13, 2016 pm 12:20 PM
php xml コード に基づく 対処する 応用 確立する 開発者 生成する 単純 コーディング 必要

XML ベースのアプリケーションを操作する場合、開発者は多くの場合、XML でエンコードされたデータ構造を作成する必要があります。たとえば、ユーザー入力に基づく Web の XML ステータス テンプレート、サーバー要求 XML ステートメント、実行時パラメーターに基づくクライアント応答などです。
XML データ構造の構築には時間がかかりますが、成熟した PHP DOM アプリケーション プログラミング インターフェイスを使用すれば、すべてがシンプルかつ明確になります。この記事では、PHP DOM アプリケーション インターフェイスの主な機能を紹介し、正しく完全な XML ファイルを生成してディスクに保存する方法を示します。
文書型宣言を作成する
一般に、XML 宣言は文書の先頭に配置されます。 PHP での宣言は非常に簡単です。DOM ドキュメント クラスのオブジェクトをインスタンス化し、それにバージョン番号を与えるだけです。番組リスト A を表示:
番組リスト A

コードをコピー コードは次のとおりです:


// doctype を作成します
$dom = new DOMDocument("1.0");
// ドキュメントをプレーン テキストとしてブラウザに表示します
// ドキュメントをブラウザにプレーン テキストとして表示します
//読みやすくするために
header("Content-Type: text/plain");
// ツリーを保存して表示します
echo $dom->saveXML();

DOM ドキュメント オブジェクトの saveXML() メソッドに注意してください。このメソッドについては後ほど詳しく説明しますが、ここでは、このメソッドが XML ドキュメントの現在のスナップショットをファイルまたはブラウザに出力するために使用されることを簡単に理解する必要があります。この例では、可読性を高めるために ASCII テキストをブラウザに直接出力しました。実際のアプリケーションでは、テキスト/XML ヘッダー ファイルをブラウザーに送信できます。
ブラウザで出力を表示すると、次のコードが表示されます。

要素とテキスト ノードを追加します
の真に強力な機能です。 XML は、その要素とカプセル化からなるコンテンツです。幸いなことに、DOM ドキュメントを初期化すると、多くの操作が非常に簡単になります。このプロセスには、次の 2 つの手順が含まれます。
追加する要素またはテキスト ノードごとに、要素名またはテキスト コンテンツを介して DOM ドキュメント オブジェクトの createElement() メソッドまたは createTextNode() メソッドを呼び出します。これにより、要素またはテキスト ノードに対応する新しいオブジェクトが作成されます。
要素またはテキスト ノードを XML ドキュメント ツリーの親ノードに追加するには、ノードの appendChild() メソッドを呼び出し、前の手順で作成したオブジェクトを渡します。
次の例は、これら 2 つのステップを明確に示しています。リスト B を参照してください。
プログラムリスト B

コードをコピー コードは次のとおりです:

// create doctype
$dom = new DOMDocument("1.0");
// 読みやすさを目的として、ドキュメントをプレーン テキストとしてブラウザに表示します
// header("Content-Type: text/plain" );
// ルート要素を作成します
$root = $dom->createElement("toppings");
$dom->appendChild($root);
$item = $dom->createElement("item");
$root->appendChild($item);
// テキスト ノードを作成します
$text = $dom-> ;createTextNode( "pepperoni");
$item->appendChild($text);
echo $dom->saveXML()>;


ここでは、まず という名前のルート要素を作成し、XML ヘッダー ファイルに配置します。次に、 という名前の要素を作成し、それをルート要素にします。最後に、値「pepperoni」を持つ別のテキスト ノードを作成し、それを 要素に割り当てます。最終結果は次のようになります:


コードをコピー

コードは次のとおりです:

ペパロニ



別のトッピングを追加したい場合は、リスト C に示すように、別の と別のコンテンツを追加します。
プログラム リスト C


コードをコピー

コードは次のとおりです:

// create doctype $dom = new DOMDocument("1.0");

// 読みやすさを目的として、ドキュメントをプレーン テキストとしてブラウザに表示します

// header("Content-Type: text/plain" );
// ルート要素を作成します
$root = $dom->createElement("toppings");
$dom->appendChild($root);
$item = $dom->createElement("item");
$root->appendChild($item);
// テキスト ノードを作成します
$text = $dom-> ;createTextNode( "pepperoni");
$item->appendChild($text);
$item = $dom->createElement("item"); >$root ->appendChild($item);
// 別のテキスト ノードを作成します
$text = $dom->createTextNode("Tomato");
$item->appendChild($) text);
// ツリーを保存して表示します
echo $dom->saveXML();


以下はプログラム リスト C を実行した後の出力です:

コードをコピーします コードは次のとおりです:



<トッピング>
<アイテム>ペパロニ
;

属性の追加
属性を使用すると、要素に適切な情報を追加することもできます。 PHP DOM API の場合、属性を追加するには 2 つの手順が必要です。まず、DOM ドキュメント オブジェクトの createAttribute() メソッドを使用して属性名を持つノードを作成し、次に属性値を持つ属性ノードにドキュメント ノードを追加します。詳細については、リスト D を参照してください。
プログラムリスト D

コードをコピー コードは次のとおりです:

// create doctype
$dom = new DOMDocument("1.0");
// 読みやすさを目的として、ドキュメントをプレーン テキストとしてブラウザに表示します
// header("Content-Type: text/plain" );
// ルート要素を作成します
$root = $dom->createElement("toppings");
$dom->appendChild($root);
$item = $dom->createElement("item");
$root->appendChild($item);
// テキスト ノードを作成します
$text = $dom-> ;createTextNode( "pepperoni");
$item->appendChild($text);
$price = $dom->createAttribute("price"); >$item ->appendChild($price);
// 属性値ノードを作成します
$priceValue = $dom->createTextNode("4");
$price->appendChild($) PriceValue);
// ツリーの保存と表示
echo $dom->saveXML();
?>


出力は次のとおりです。 🎜>

コードをコピーします

コードは次のとおりです。

<トッピング> pepperoni

CDATA モジュールとプロセスの追加
ウィザードはあまり使用されませんが、DOM ドキュメント オブジェクトの createCDATASection() メソッドと createProcessingstruction() メソッドを呼び出すことにより、PHP API も CDATA とプロセス ウィザードを適切にサポートできます。プログラム リスト E を参照してください。
プログラムリスト E


コードをコピー

コードは次のとおりです:

// create doctype // create doctype $dom = new DOMDocument("1.0"); // 読みやすさを目的として、ドキュメントをブラウザにプレーンテキストとして表示します

//

header("Content -Type: text/plain");
// ルート要素を作成
$root = $dom->createElement("toppings");
$dom->appendChild($root);
/ / 子要素を作成します
$item = $dom->createElement("item");
$root->appendChild($item); // テキスト ノードを作成します
$text = $dom->createTextNode("pepperoni");
$item->appendChild($text);
// 属性ノードを作成します
$price = $dom->createAttribute( "price" );
$item->appendChild($price);
$priceValue = $dom->createTextNode("4"); Price-> ;appendChild($priceValue);
// CDATA セクションを作成
$cdata = $dom->createCDATASection(" 顧客はピザを 16 枚の正方形にスライスすることを要求しました "); $root->appendChild($cdata);
// PI を作成します
$pi = $dom->createProcessingstruct("pizza", "bake()"); appendChild($pi) ;
// ツリーの保存と表示
echo $dom->saveXML();


出力は次のとおりです。 🎜>


コードをコピーします

コードは次のとおりです。



<アイテム価格="4">ペパロニ
顧客はピザを16枚の正方形にスライスすることを要求しました

]] >

目標を達成したら、結果を保存できます。ファイルに保存するか、PHP 変数に保存します。結果は、ファイル名を指定して save() メソッドを呼び出してファイルに保存するか、saveXML() メソッドを呼び出して PHP 変数に保存できます。次の例 (プログラム リスト F) を参照してください。 プログラム リスト F


コードをコピーします

コードは次のとおりです:


// doctype を作成します
$dom = new DOMDocument("1.0");
// ルート要素を作成
$root = $dom->createElement("toppings");
$dom->appendChild($root);
$dom->formatOutput=true;
// 子要素を作成します
$item = $dom->createElement("item");
$root->appendChild($item);
// テキストノードを作成します
$text = $dom->createTextNode("pepperoni");
$item->appendChild($text);
// 属性ノードを作成
$price = $dom->createAttribute("price");
$item->appendChild($price);
// 属性値ノードを作成
$priceValue = $dom->createTextNode("4");
$price->appendChild($priceValue);
// CDATA セクションを作成
$cdata = $dom->createCDATASection(" お客様はピザを
16 個の正方形にスライスすることを要求しています ");
$root->appendChild($cdata);
// PI を作成します
$pi = $dom->createProcessingstruct("pizza", "bake()");
$root->appendChild($pi);
// ツリーをファイルに保存
$dom->save("order.xml");
// ツリーを文字列に保存
$order = $dom->save("order.xml");
?>


以下は実際の例であり、大家が試してみることができます。
代码如下:

$conn = mysql_connect('localhost', 'root', '123456') または die('接続できませんでした: ' . mysql_error()); mysql_select_db('vdigital', $conn) または die ('データベースを使用できません: ' .mysql_error()); $str = "SELECT id,username FROM `admin` GROUP BY `id` ORDER BY `id` ASC";

$result = mysql_query($str) または die("無効なクエリ: " . mysql_error());

if($result)
{
$xmlDoc = new DOMDocument();
if(!file_exists("01.xml")){
$xmlstr = "<メッセージ>$xmlDoc->loadXML($xmlstr);
$xmlDoc->save("01.xml");
}
else { $xmlDoc->load("01.xml");}
$Root = $xmlDoc->documentElement;
while ($arr = mysql_fetch_array($result)){
$node1 = $xmlDoc->createElement("id");
$text = $xmlDoc->createTextNode(iconv("GB2312","UTF-8",$arr["id"]));
$node1->appendChild($text);
$node2 = $xmlDoc->createElement("name");
$text2 = $xmlDoc->createTextNode(iconv("GB2312","UTF-8",$arr["username"]));
$node2->appendChild($text2);
$Root->appendChild($node1);
$Root->appendChild($node2);
$xmlDoc->save("01.xml");
}
}
mysql_close($conn);
?>


test.php(应用测试)



复制代


代码如下:

< ? $xmlDoc = 新しい DOMDocument(); $xmlDoc->load("http://localhost/xml/xml.php"); $x=$xmlDoc->getElementsByTagName('name');

for ($i=0; $ilength-1; $i )

{
if(strpos($x->item($i)->; nodeValue,"fang")!==false)
{
echo $x->item($i)->parentNode->childNodes->item(1)->nodeValue;
}
}
?>


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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPとPython:2つの一般的なプログラミング言語を比較します PHPとPython:2つの一般的なプログラミング言語を比較します Apr 14, 2025 am 12:13 AM

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

アクション中のPHP:実際の例とアプリケーション アクション中のPHP:実際の例とアプリケーション Apr 14, 2025 am 12:19 AM

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHP:Web開発の重要な言語 PHP:Web開発の重要な言語 Apr 13, 2025 am 12:08 AM

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHP対Python:違いを理解します PHP対Python:違いを理解します Apr 11, 2025 am 12:15 AM

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHPの永続的な関連性:それはまだ生きていますか? PHPの永続的な関連性:それはまだ生きていますか? Apr 14, 2025 am 12:12 AM

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

PHP対その他の言語:比較 PHP対その他の言語:比較 Apr 13, 2025 am 12:19 AM

PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。

PHPおよびPython:コードの例と比較 PHPおよびPython:コードの例と比較 Apr 15, 2025 am 12:07 AM

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

PHPの目的:動的なWebサイトの構築 PHPの目的:動的なWebサイトの構築 Apr 15, 2025 am 12:18 AM

PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

See all articles