Xml 解析方式には、1. XML 文書を変更できる DOM 解析方式、2. 解析速度が速く、メモリ使用量が少ない SAX 解析方式、3. 簡単に解析できる JDOM 解析方式があります。検索; 4. DOM4J 解析メソッド、XML を高速に解析します。
XML を解析する方法は数多くありますが、最も一般的に使用されるのは 4 つの解析方法、つまり DOM メソッド、SAX メソッド、JDOM メソッド、および DOM4J メソッドです。 。
XML の概要
XML 構文
1. 各 XML ドキュメントは XML プリアンブルで始まります。前のコードの最初の行は XML プリアンブル、< ;?xml です。 version="1.0"?>
XML ファイルを解析する 4 つの方法
1. DOM 解析方法
DOM、ドキュメントオブジェクト モデルは公式に推奨される標準です。 DOM は、HTML および XML ドキュメントのプログラミング インターフェイス仕様であり、プラットフォームや言語に依存しません。 DOM仕様を利用することで、DOM文書とxmlの相互変換を実現し、対応するDOM文書の内容を横断して操作することができます。 DOM 仕様の中核はツリー モデルであり、すべてが読み取られた後に解析されます。 原則は、まずメモリ内に Document オブジェクトを作成し、次に XML ドキュメントを読み取って DOM オブジェクトに割り当てます。 DOM オブジェクトはツリー構造に基づいているため、DOM オブジェクトをトラバースするだけです。メモリ内の DOM オブジェクトをクエリ、変更、削除できます。また、元の XML ドキュメントをライトバックして変更を保存することもできます。 利点: ツリー全体がメモリ内にあるため、xml ドキュメントにランダムにアクセスでき、xml ドキュメントを変更できます。欠点: ドキュメント全体が必要になるため、ドキュメント全体を一度に解析する必要があります。
#SAX、Simple Application Programming Interface (Simple Api For Xml)。 W3C によって正式に提供されていない標準は、プログラマーのコミュニティによって開発されています。 SAX は概念的に DOM とはまったく異なります。それはドキュメント駆動ではなく、イベント駆動です。イベント駆動型: コールバック メカニズムに基づいたプログラム実行メソッド。外側から内側まで層ごとに分析します。
利点: 解析速度が速く、必要なメモリが少なく、必要なデータをロードして解析します。
欠点: タグの関係は記録されませんが、アプリケーションが独自に処理する必要があるため、プログラムの負荷が増加します。
3. JDOM の解析方法JDOM は Java と DOM を組み合わせたものです。 JDOM は、Java コードを通じて XML データにアクセス、操作、出力できる完全な Java ベースのプラットフォームの構築に取り組んでいます。 JDOM は、Java 言語を使用して XML の読み取り、書き込み、操作を行う新しい API 関数です。シンプル、効率的、最適化されています。
利点: 検索が容易で、変更が可能です
欠点: ドキュメント全体をロードするには大量のメモリ容量が必要です
4. DOM4J の解析方法。dom4j は、jdom と同様の Java XML API で、XML ファイルの読み取りと書き込みに使用されます。優れたパフォーマンス、強力な機能、使いやすいオープンソースコード。これは現在、最も人気があり、最もよく使用されている XML 解析ツールであり、XML を最も速く解析します。
操作手順:
1: SAXReader の作成: SAXReader Reader = new SAXReader();
2: ファイル入力ストリームを作成し、XML ファイルを開きます: InputStream in = new FileInputStream( "XXX.xml");3: リーダーと入力ストリームを通じて xml ファイルをメモリに読み取り、Document オブジェクトを作成します: Document dom = Reader.read(in);
4: ルート ノードを取得します:要素 root=dom.getRootElement( );
5: 子ノードのリストを取得します: List
6: 子ノードを走査します: Element node = childNodes.get( i);
7: ノード情報の読み取り:
1)、ノード属性値:node.attributeValue("属性名");
2)、ノード名:node.getName();
3)、ノード値:node.getValue();
4)、子ノードのテキスト値:node.elementText("子ノード名")
関連ビデオチュートリアルの推奨事項:「
"以上がこの記事の全内容です。皆様の学習のお役に立てれば幸いです。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !
以上がXML の 4 つの一般的な解析方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。