2012-03-15 19 views
2

SAXParserを使用してXMLファイルを1行ずつ解析することはできますか?SAXとJavaで行を解析する

+3

openタグとcloseタグが同じ行にないときに、どのように動作すると思いますか? –

+0

私は質問をdownvoteする理由があるとは思わない、それはすべての質問の2つの論理的な答えはいまたはいいえです。 – bluesman

+0

私はファイルを1行ずつ読み込み、SAXと解析し、新しいファイルに解析された行を書き込むための条件があるかどうかを確認したいと思います。 – mpele

答えて

2

これを行う最も簡単な方法は、各行を2番目のスレッドに渡すことです。例えばPipedInputStreamを介して

今後、Java 8または9またはそれ以降のバージョンで継続機能を使用できる可能性があります。パーサーを同じスレッドで使用する。

SAXパーサーは、与えられた行に対してできる完全なイベントを提供する必要があります。

私は過去にこれを行うための "プッシュ"パーサーを作成しましたが、これを1つのスレッドで行う標準のSAX解析はわかりません。

0

私はSAXを購入、これはあなたの状況に役立つかはわからないイベント、特定のタグの基準がたDefaultHandlerを拡張することで一致したとき、あなたのためにコードを書くことができます意味ベースです:

class MySAXHandler extends DefaultHandler { 
    public void startDocument() { 
    System.out.println("Start document: "); 
} 

方法の多くがあります。オーバーライドするには、見てください:http://www.java2s.com/Code/Java/XML/SAXeventhandler.htm

これは役に立ちます。

関連する問題