ホームページ > バックエンド開発 > PHPチュートリアル > PHP で XMLReader を効果的に使用して、大きな XML ファイル コンテンツをデータベースに保存するにはどうすればよいですか?

PHP で XMLReader を効果的に使用して、大きな XML ファイル コンテンツをデータベースに保存するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-06 11:14:31
オリジナル
424 人が閲覧しました

How Can I Effectively Use XMLReader in PHP to Store Large XML File Content in a Database?

XMLReader: PHP での効果的な活用

質問:

SimpleXML が処理できない大きな XML ファイルの場合, XMLReader を調べていますが、要素のコンテンツをデータベースに保存する方法に関するガイダンスがありません。このプロセスについての洞察を提供していただけますか?

回答:

アプローチは、特に個別の <製品> を扱う場合、作業単位のサイズによって異なります。 ;連続したノード。 XMLReader と SimpleXML を組み合わせた戦略は次のとおりです:

$z = new XMLReader;
$z->open('data.xml');

$doc = new DOMDocument;

// Move to the first  node
while ($z->read() && $z->name !== 'product');

// Iterate through  nodes until the end of the tree
while ($z->name === 'product') {
    // Either read outer XML as a string and import it as SimpleXML or import the node as DOM
    $node = new SimpleXMLElement($z->readOuterXML());
    // $node = simplexml_import_dom($doc->importNode($z->expand(), true));

    // Now you can access node content
    var_dump($node->element_1);

    // Move to the next  node
    $z->next('product');
}

さまざまなアプローチの長所と短所:

  • XMLReader のみ: 高速、メモリ使用量は低いですが、コーディングが難しく、 debug.
  • XMLReader SimpleXML: メモリ使用量が少なく、使いやすいですが、SimpleXMLElement オブジェクトの作成に比較的時間がかかることがあります。
  • XMLReader DOM: メモリSimpleXML と同様の使用法で拡張が高速ですが、DOM 処理はより複雑になる可能性があります。

推奨事項:

パフォーマンスを評価するには、SimpleXML から始めます。速度が重要な場合は、DOM を検討してください。ただし、エラーやパフォーマンスの問題のリスクを軽減するには、コードベースを最小限に抑えることが重要です。

以上がPHP で XMLReader を効果的に使用して、大きな XML ファイル コンテンツをデータベースに保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート