非常に大きなXMLファイルを効率的に解析する必要があるため、ファイル全体をメモリに入れることができません。そのように私はXMLStreamReader内のようなストリーミング技術に見てきたが、これらは非常に低レベルであること、非常にハードコーディングされたコードを生成するために表示されます。JavaからXMLをストリーミング形式で解析する、より一般的な方法は?
event = parser.next();
switch (event)
{
case XMLStreamConstants.START_ELEMENT:
elementName = parser.getLocalName();
if (elementName.equals("name")){
state = FOUND_A_NAME;
}else if (elementName.equals("address")){
state = FOUND_AN_ADDRESS;
}
ETC...
}
私は非常に緊密に結合せずにこれを行う方法を探していますパースして解析することに加えて、このコードはちょうどいい気分ではありません。これはより真にイベント指向でなければならないようです。
アドバイスはありますか?
"一般的で再利用可能な" xml-parsingコードを書くことができれば、いいライブラリ/フレームワークではないのはなぜですか?彼の「悪いコード」は、インターネット上で見られるものであり、いわゆるベストプラクティスの一例です。大文字小文字のステートメント(またはイベントベースのソリューションを手渡し)を使用してXMLを手動で解析することは、実際に2011年に行うべきことのようですか? – inanutshellus