私は次のような助けが必要です。PHPで4 GBのXMLファイルをストリーム解析する
PHPで大きなXMLファイル(4 GB)をストリーム解析したいと思います。単純なXMLやDOMを使うことはできません。なぜなら、ファイル全体をメモリに読み込むので、ファイルをストリームできるものが必要なのです。
PHPでこれを行うにはどうすればよいですか?
私がしようとしているのは、一連の<doc>
要素をナビゲートすることです。また、いくつかの子を新しいxmlファイルに書き込んでください。
私はこのようなルックスを解析しようとしているXMLファイル:
<feed>
<doc>
<title>Title of first doc is here</title>
<url>URL is here</url>
<abstract>Abstract is here...</abstract>
<links>
<sublink>Link is here</sublink>
<sublink>Link is here</sublink>
<sublink>Link is here</sublink>
<sublink>Link is here</sublink>
<sublink>Link is here</sublink>
</link>
</doc>
<doc>
<title>Title of second doc is here</title>
<url>URL is here</url>
<abstract>Abstract is here...</abstract>
<links>
<sublink>Link is here</sublink>
<sublink>Link is here</sublink>
<sublink>Link is here</sublink>
<sublink>Link is here</sublink>
<sublink>Link is here</sublink>
</link>
</doc>
</feed>
私が取得/ <links>
要素とその子供たちを除いて新しいXMLファイルに各<doc>
要素のすべての子をコピーしようとしています。
<doc>
<title>Title of first doc is here</title>
<url>URL is here</url>
<abstract>Abstract is here...</abstract>
</doc>
<doc>
<title>Title of second doc is here</title>
<url>URL is here</url>
<abstract>Abstract is here...</abstract>
</doc>
は、私は非常にストリーミング/ストリームのパース/ストリームオリジナルのXMLファイルを読み込み、その内容の一部を書面で任意およびすべてのヘルプをいただければ幸いです。
は、だから私は次のように新しいXMLファイルを見てみたいですPHPの新しいXMLファイルに変換します。
は、XmlReaderクラスをチェックアウト: //www.php.net/manual/en/intro.xmlreader.phpストリーミングパーサーです。より具体的な回答をお手伝いできるかどうかを知るために、あなたの質問をもっと深く読んでいます。 – DeeDee
@DeeDee XMLReaderについて聞いたことがありますが、XMLReaderの使い方は分かりませんでした。お手伝いありがとう! –
公式文書のコメントが不足していることからも分かるように、あまり使われていません。私は自分自身を非常に長い間使っていません。私のコードの仕組みを教えていただけますか?すぐに機能しない場合は、協力して何が起きているか把握することができます。 – DeeDee