ホームページ >Java >&#&チュートリアル >XML 解析のニーズには、「org.xml.sax」と「android.sax」のどちらの SAX パーサー実装が最適ですか?
SAX パーサーを使用して XML を解析する方法
SAX を使用して XML ドキュメントを解析する場合、考慮すべき主な実装が 2 つあります。 xml.sax と android.sax です。各実装には、独自の長所と短所があります。
org.xml.sax 実装
org.xml.sax 実装は、SAX 解析に対する下位レベルのアプローチを提供します。開始/終了要素や文字データなど、さまざまな XML イベントのイベント リスナーを手動で処理する必要があります。このアプローチは柔軟性を高めますが、より冗長で反復的なコードになる可能性があります。
public class ExampleHandler extends DefaultHandler { // Initialize POJOs (Plain Old Java Objects) to store XML data private Channel channel; private Items items; private Item item; private boolean inItem = false; private StringBuilder content; @Override public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException { content = new StringBuilder(); if (localName.equalsIgnoreCase("channel")) { channel = new Channel(); } else if (localName.equalsIgnoreCase("item")) { inItem = true; item = new Item(); } } // ... Remaining event listeners ... }
android.sax 実装
android.sax 実装は、次のように解析を簡素化します。 RootElement オブジェクトと Element オブジェクトを使用して、XML 構造を事前に定義します。特定のデータ パターンを処理するために、イベント リスナーがこれらの要素に追加されます。このアプローチではコードの繰り返しが減りますが、明確に定義された XML 構造が必要です。
public class Example extends DefaultHandler { // POJOs to store XML data private Channel channel; private Items items; private Item item; public Example() { items = new Items(); } // Add event listeners for element events // ... Remaining code ... }
比較
android.sax:
org.xml.sax:
結論
android.sax と org.xml.sax のどちらを選択するかは、XML 構造の複雑さと必要な柔軟性によって異なります。シンプルで明確に定義された XML 構造に対して、android.sax は簡素化された解析アプローチを提供します。さまざまなレベルの繰り返しタグを含むより複雑な構造の場合、org.xml.sax は低レベルのイベント処理機構を使用してより優れた制御を提供します。
以上がXML 解析のニーズには、「org.xml.sax」と「android.sax」のどちらの SAX パーサー実装が最適ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。