sql >> データベース >  >> RDS >> Mysql

PHPで非常に大きなXMLファイルを解析する

    PHPでは、 XMLReaderを使用して、非常に大きなXMLファイルを読み取ることができます。

    $reader = new XMLReader();
    $reader->open($xmlfile);
    

    非常に大きなXMLファイルは、圧縮形式でディスクに保存する必要があります。 XMLファイルは高い圧縮率を持っているので、少なくともこれは理にかなっています。たとえば、large.xml.gzのようにgzipで圧縮されます 。

    PHPはXMLReaderでそれを非常にうまくサポートしています 圧縮ラッパー 経由 :

    $xmlfile = 'compress.zlib://path/to/large.xml.gz';
    
    $reader = new XMLReader();
    $reader->open($xmlfile);
    

    XMLReader 現在の要素を「のみ」操作できます。つまり、フォワードのみです。パーサーの状態を維持する必要がある場合は、独自に構築する必要があります。

    XMLReaderの操作方法を知っている一連のイテレータに、基本的な動きをラップすることが役立つことがよくあります。 要素または子要素のみを反復処理するようなものです。これは、PHPとXMLReaderを使用したXMLの解析 で概説されています。 。

    参照:



    1. JavaからMySQLに画像を保存する

    2. ローカルコンピュータ上のMySQLサービスが開始してから停止しました

    3. Windows上のTalendをODBCデータベースに接続する

    4. org.hibernate.internal.util.config.ConfigurationException:cfg.xmlリソースが見つかりませんでした[/HibernateTest/src/hibernate.cfg.xml]