在解析XML文件时,我很难避免SAXParseException。
原因是我正在解析成千上万的XML文件,有时XML文件中包含错误。
我想知道是否有办法跳过这些XML文件并继续正确构建的文件。
干杯!
答案 0 :(得分:0)
如果您有RDD [String]并将字符串解析为XML
rdd.flatMap{ s =>
try {
parse(s) // here you convert the string into your XML
} catch {
case SAXParseException() =>
logError(...)
None
}
}
此处,flatmap的行为类似于地图和过滤器。它会填充我们解析失败的所有xmls。您可以记录它们或只是丢弃它们。
如果您希望在异常情况下更聪明地做一些事情,可以查看有关scala的精彩教程here