2016-03-21 7 views
0

XMLファイルを解析するときにSAXParseExceptionを回避することが困難です。ScalaでのSAXParseExceptionの回避

私は何千ものXMLファイルを解析しており、XMLファイルにエラーが含まれていることがあります。

これらのXMLファイルをスキップして正しくビルドされたものがあるかどうか疑問に思っています。

乾杯!

+0

についての素晴らしいチュートリアルを見てみることができます。しかし、どのような決定のための一般的なアイデアは 'Try(...)です。recover {case err:SAXParseException => ...}' – Zernike

答えて

0

ここでは、RDD [文字列]を持っていて、XMLに

rdd.flatMap{ s => 
    try { 
     parse(s) // here you convert the string into your XML 
    } catch { 
     case SAXParseException() => 
     logError(...) 
     None 
    } 
} 

を文字列を解析した場合flatmapはマップに加えて、フィルタのように動作します。これは、解析に失敗したすべてのxmlをフィルタリングします。ログに記録することもできますし、破棄することもできます。

あなたの例外を除いて、よりスマートな何かをしたい場合は、それは、コンテキストの詳細なしに支援することは困難ですスカラ座here

関連する問題