XML データ抽出のための SAX 解析
概要
SAX による XML 解析 (単純なAPI for XML) パーサーは、XML ドキュメントからデータを抽出するための一般的なアプローチを提供します。この記事では、単一の文字列ではなく抽出されたすべての文字列を含む配列を返すという特定の課題に対処するための SAX の使用方法について説明します。
チュートリアルの概要
提供されるチュートリアル セットSAX による XML 解析の基礎。特定の RSS フィード構造を処理する方法を示します。
問題: 単一の文字列を配列に変換する
元の質問は、チュートリアルを変更して返す必要があることを示しています。抽出されたすべての文字列を含む配列。これは、最後に検出された要素を含む単一の文字列を返すチュートリアルの実装とは異なります。
SAX 実装
主要な SAX 実装は 2 つあります:
android.sax 実装
この例は、android.sax 実装の使用方法を示しています。これには、RootElement オブジェクトと Element オブジェクトを使用して目的の XML 構造を定義することが含まれます。 POJO (Plain Old Java Objects) を使用してデータを表すことができます。
例:
// POJOs to represent the RSS feed structure public class Channel { private Items items; // getters and setters for all fields } public class Items extends ArrayList<Item> { // constructor and methods } public class Item { private String title; // getters and setters for all fields } // SAX handler to parse the XML public class Example extends DefaultHandler { private Channel channel; // listener methods for each XML element }
org.xml.sax 実装
この実装は、イベントに依存する、よりイベント駆動型のアプローチを使用します。処理用のハンドラー メソッド。
org.xml.sax の使用例:
// SAX handler to parse the XML public class ExampleHandler extends DefaultHandler { private Channel channel; // event handler methods for each XML element }
利点と欠点
結論
2 つの SAX 実装のどちらを選択するかは、特定の要件によって決まります。あなたのプロジェクトの。どちらも、XML データを目的の形式に解析するための実行可能なソリューションを提供します。
以上がSAX 解析を使用して XML ドキュメントからすべての文字列を配列に抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。