XML_PHP を生成するための PHP の簡単なコードのチュートリアル
XML ベースのアプリケーションを操作する場合、開発者は多くの場合、XML でエンコードされたデータ構造を作成する必要があります。たとえば、ユーザー入力に基づく Web の XML 状態テンプレート、サーバー要求 XML ステートメント、実行時パラメーターに基づくクライアント応答などです。
XML データ構造の構築には時間がかかりますが、成熟した PHP DOM アプリケーション インターフェイスを使用すれば、すべてがシンプルかつ明確になります。この記事では、Dane PHP トレーニング教師が PHP DOM アプリケーション インターフェイスの主な機能を紹介し、正しく完全な XML ファイルを生成してディスクに保存する方法を示します。
ドキュメントタイプ宣言を作成します
一般に、XML 宣言はドキュメントの先頭に配置されます。 PHP での宣言は非常に簡単です。DOM ドキュメント クラスのオブジェクトをインスタンス化し、それにバージョン番号を与えるだけです。番組リストを見る A:
番組リストA
コードは次のとおりです | |
// doctype を作成します $dom = 新しい 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
コードは次のとおりです | |
// doctype を作成します |
ここでは、まず
<トッピング>
トッピング>
別のトッピングを追加したい場合は、リスト C に示すように、別の
番組リストC
コードは次のとおりです | |
// doctype を作成します |
属性を追加する
PHP で XML を生成するための簡単なサンプル コード (1) の内容を引き続き共有します。次に、北京 PHP トレーニングでは、PHP で XML を生成するための簡単なサンプル コード (2) の内容を引き続き共有します。
属性を使用すると、要素に適切な情報を追加することもできます。 PHP DOM API の場合、属性を追加するには 2 つの手順が必要です。まず、DOM ドキュメント オブジェクトの createAttribute() メソッドを使用して属性名を持つノードを作成し、次に属性値を持つ属性ノードにドキュメント ノードを追加します。詳細については、リスト D を参照してください。
番組リストD
コードは次のとおりです | |
// ドキュメントタイプを作成します $dom = 新しい DOMDocument("1.0"); // ドキュメントをプレーンテキストとしてブラウザに表示します // 読みやすくするため header("Content-Type: text/plain"); // ルート要素を作成します $root = $dom->createElement("トッピング"); $dom->appendChild($root); // 子要素を作成します $item = $dom->createElement("item"); $root->appendChild($item); // テキストノードを作成します $text = $dom->createTextNode("ペパロニ"); $item->appendChild($text); // 属性ノードを作成します $price = $dom->createAttribute("価格"); $item->appendChild($price); // 属性値ノードを作成します $priceValue = $dom->createTextNode("4"); $price->appendChild($priceValue); // ツリーを保存して表示します echo $dom->saveXML(); ?> 出力は次のようになります: <トッピング> トッピング> |
CDATA モジュールとプロセスウィザードの追加
CDATA モジュールとプロセス ウィザードはあまり使用されませんが、PHP API は、DOM ドキュメント オブジェクトの createCDATASection() メソッドと createProcessingstruction() メソッドを呼び出すことで、CDATA とプロセス ウィザードを適切にサポートすることもできます。プログラム リスト E を参照してください。
番組リストE
コードは次のとおりです | |
// doctype を作成します // doctype を作成します $dom = 新しい DOMDocument("1.0"); // ドキュメントをプレーンテキストとしてブラウザに表示します // 読みやすくするため header("Content-Type: text/plain"); // ルート要素を作成します $root = $dom->createElement("トッピング"); $dom->appendChild($root); // 子要素を作成します $item = $dom->createElement("item"); $root->appendChild($item); // テキストノードを作成します $text = $dom->createTextNode("ペパロニ"); $item->appendChild($text); // 属性ノードを作成します $price = $dom->createAttribute("価格"); $item->appendChild($price); // 属性値ノードを作成します $priceValue = $dom->createTextNode("4"); $price->appendChild($priceValue); // CDATA セクションを作成します $cdata = $dom->createCDATASection("顧客はピザを16枚の正方形にスライスすることを要求しました"); $root->appendChild($cdata); // PI を作成します $pi = $dom->createProcessingstruct("ピザ", "bake()"); $root->appendChild($pi); // ツリーを保存して表示します echo $dom->saveXML(); ?> 出力は次のようになります: <トッピング> お客様からピザを16等分にスライスしてほしいとのご要望がありました ]]> トッピング> |
結果を保存する
目標を達成したら、結果をファイルに保存するか、PHP 変数に保存できます。結果は、ファイル名を指定して save() メソッドを呼び出してファイルに保存するか、saveXML() メソッドを呼び出して PHP 変数に保存できます。次の例 (プログラム リスト F) を参照してください:
番組表F
代码如下 | |
// ドキュメントタイプを作成します $dom = 新しい DOMDocument("1.0"); // ルート要素を作成します $root = $dom->createElement(「トッピング」); $dom->appendChild($root); $dom->formatOutput=true; // 子要素を作成します $item = $dom->createElement("アイテム"); $root->appendChild($item); // テキストノードを作成します $text = $dom->createTextNode(「ペパロニ」); $item->appendChild($text); // 属性ノードを作成します $price = $dom->createAttribute("価格"); $item->appendChild($price); // 属性値ノードを作成します $priceValue = $dom->createTextNode("4"); $price->appendChild($priceValue); // CDATA セクションを作成します $cdata = $dom->createCDATASection(" 顧客はピザを とリクエストしています 16枚の正方形にスライスします」); $root->appendChild($cdata); // PI を作成します $pi = $dom->createProcessingstruct("ピザ", "焼く()"); $root->appendChild($pi); // ツリーをファイルに保存します $dom->save("order.xml"); // ツリーを文字列に保存します $order = $dom->save("order.xml"); ?> 以下は実際の例であり、一般の方も試してみることができます。 xml.php(生成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($結果) { $xmlDoc = 新しい DOMDocument(); if(!file_exists("01.xml")){ $xmlstr = "<メッセージ>メッセージ>"; $xmlDoc->loadXML($xmlstr); $xmlDoc->保存("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("名前"); $text2 = $xmlDoc->createTextNode(iconv("GB2312","UTF-8",$arr["username"])); $node2->appendChild($text2); $Root->appendChild($node1); $Root->appendChild($node2); $xmlDoc->保存("01.xml"); } } mysql_close($conn); ?> test.php(应用测试) $xmlDoc = 新しい DOMDocument(); $xmlDoc->load("http://localhost/xml/xml.php"); $x=$xmlDoc->getElementsByTagName('名前'); for ($i=0; $i<=$x->長さ-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衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

2025年、グローバルデジタル仮想通貨取引プラットフォームは、トランザクションのボリューム、セキュリティ、ユーザーエクスペリエンスなどの指標に基づいて、2025年に世界のトップ10のデジタル通貨取引プラットフォームを激しく競争しています。 OKXは、強力な技術的強さとグローバルな運用戦略で最初にランクされており、Binanceは高流動性と低料金に密接に続きます。 Gate.io、Coinbase、Krakenなどのプラットフォームは、それぞれの利点がある最前線にいます。このリストには、Huobi、Kucoin、Bitfinex、Crypto.com、Geminiなどの取引プラットフォームがそれぞれ独自の特徴がありますが、投資は注意する必要があります。プラットフォームを選択するには、セキュリティ、流動性、料金、ユーザーエクスペリエンス、通貨選択、規制コンプライアンスなどの要因を考慮し、合理的に投資する必要があります

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
