PHP_PHP チュートリアルを使用した XML DOM の読み取りと書き込みのコード例
// DOM を使用して XML を読み取る
$doc = new DOMDocument()
$doc->load(‘test.xml’);
$books = $doc->getElementsByTagName(“本”);
foreach( $books as $book ){$authors = $book->getElementsByTagName(“author”);
$author = $authors->item(0)->nodeValue 属性は次のとおりです。ノードの値を設定または返すノードのタイプに従って決定されます。
$publisher = $publishers->item(0)->nodeValue;
$titles = $book->getElementsByTagName( ”title” );
エコー「タイトル: $title
著者: $author
出版社: $publisher
」
/* スクリプトは最初に新しい DOMdocument オブジェクトを作成し、load メソッドを使用して書籍 XML をこのオブジェクトにロードします。その後、スクリプトは getElementsByName メソッドを使用して、指定された名前の下にあるすべての要素のリストを取得します。
book ノードのループで、スクリプトは getElementsByName メソッドを使用して、著者、発行者、およびタイトル タグのノード値を取得します。 nodeValue はノード内のテキストです。次に、スクリプトはこれらの値を表示します。
*/
// SAX パーサーで XML を読み取る
$g_books = 配列();
$g_elem = null;
global $g_books, $g_elem;
if ( $name == 'BOOK' ) $g_books []= array(); }
関数 endElement( $parser, $name ){
function textData( $parser, $text ){
global $g_books, $g_elem;
if ( $g_elem == '作者' || $g_elem == '出版社' || $g_elem == 'TITLE' ){
$g_books[ count( $g_books ) - 1 ][ $g_elem ] = $text;
$parser = xml_parser_create();
xml_set_character_data_handler( $parser, ”textData” );
$f = fopen( 'test.xml', 'r' );
while( $data = fread( $f, 4096 ) ){
xml_parse( $parser, $data );
foreach( $g_books as $book ){
echo $book['TITLE']." - ".$book['AUTHOR']." - ";
echo $book['PUBLISHER']."n";
}
/*
スクリプトは最初に、メモリ内のすべての書籍と書籍情報を保持する g_books 配列を設定します。また、g_elem 変数は、スクリプトが現在処理しているタグの名前を保持します。次に、スクリプトはコールバック関数を定義します。この例では、コールバック関数は startElement、endElement、および textData です。マークを開くときと閉じるときは、それぞれ startElement 関数と endElement 関数を呼び出します。開始タグと終了タグの間のテキストで textData を呼び出します。
この例では、startElement タグは book 配列内の新しい要素を開始する book タグを探します。次に、textData 関数は現在の要素を調べて、それが発行者、タイトル、または著者タグであるかどうかを確認します。そうである場合、関数は現在のテキストを現在のブックに挿入します。
*/
// 正規表現を使用して XML を解析します
$f = fopen( 'test.xml', 'r' );
while( $data = fread( $f, 4096 ) ) { $xml .= $data; $f );preg_match_all( ”/
foreach( $bookblocks[1] as $block ){
preg_match_all( ”/
preg_match_all( ”/
/*
XML を読み取るために正規表現を使用することはお勧めしませんが、正規表現関数が常に使用できるため、これが最も互換性のある方法である場合があります。 XML の形式や構造を制御できないため、正規表現を使用してユーザーから XML を直接読み取らないでください。ユーザーから XML を読み取るには、常に DOM ライブラリまたは SAX パーサーを使用する必要があります。*/
//DOM を使用して XML を記述する
$books = array();
$books [] = array(
'title' => 'PHP Hacks',
'author' => 'ジャック・ヘリントン',
'出版社' => ”オライリー”
);
$books [] = array(
'title' => 'ポッドキャスティングハック',
'著者' => 'ジャック・ヘリントン',
'出版社' => ”オライリー”
);
$doc = 新しい DOMDocument();
$doc->formatOutput = true;
$r = $doc->createElement( ”books” );
$doc->appendChild( $r );
foreach( $books as $book ){
$b = $doc->createElement( ”book” );
$author = $doc->createElement( ”著者” );
$author->appendChild( $doc->createTextNode( $book['author'] ) );
$b->appendChild( $author );
$title = $doc->createElement( ”title” );
$title->appendChild( $doc->createTextNode( $book['title'] ) );
$b->appendChild( $title );
$publisher = $doc->createElement( ”publisher” );
$publisher->appendChild( $doc->createTextNode( $book['publisher'] ) );
$b->appendChild( $publisher );
$r->appendChild( $b );
}
//echo $doc->saveXML();
/*
いくつかの例の図を使用してブックの数が組み込まれています。このデータは、ユーザーから取得することも、データ パックから取得することもできます。次に、各本の著者、タイトル、出版社が作成され、各ブック ポイントがルート ポイント ブックに追加されます。作成された XML はすべて正しい形式です。ただし、DOM を使用して XML を作成できない場合、これは問題になりますか?
Xml代コード
PHP 编写xml
$books = array();
$books [] = array('title' => 'PHP Hacks',
'author' => 'ジャック・ヘリントン',
'出版社' => ”オライリー”
);
$books [] = array(
'title' => 'ポッドキャスティングハック',
'著者' => 'ジャック・ヘリントン',
'出版社' => ”オライリー”
);
?>
{
?>
<著者>
著者>
出版社>
本>
}
?>
書籍>
例で使用される test.xml は次のとおりです:
<著者>ジャック・ヘリントン著者>
オライリー出版社>
本>
<著者>ジャック・ヘリントン著者>
オライリー出版社>
本>
書籍>
http://www.bkjia.com/PHPjc/364615.html

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

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

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

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

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

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

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

PHPでは、予測不可能なトークンを使用して、CSRF攻撃を効果的に防ぐことができます。特定の方法には次のものが含まれます。1。フォームのCSRFトークンを生成および埋め込みます。 2.リクエストを処理するときにトークンの有効性を確認します。
