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();
ブラウザで出力を表示すると、次のコードが表示されます。
要素とテキスト ノードを追加します
の真に強力な機能です。 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()>;
ここでは、まず
コードは次のとおりです:
別のトッピングを追加したい場合は、リスト 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();
?>
出力は次のとおりです。 🎜>
コードをコピーします
<トッピング>
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;
}
}
?>

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











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

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

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

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

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

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

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

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