2016-03-21 21 views
0

XML dosyalarını ayrıştırırken SAXParseException'dan kaçınmakta zorluk çekiyorum.Scala'da SAXParseException'ı Önleme

Bunun nedeni, binlerce binlerce XML dosyasını ayrıştırdığım ve bazen XML dosyasının içinde hatalar içerdiği.

Bu XML dosyalarını atlamanın ve doğru şekilde oluşturulmuş olanlarla devam etmenin bir yolu olup olmadığını merak ediyorum.

Şerefe! Bir RDD [dize] varsa ve

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

XML

olarak dizeyi ayrıştırmak Eğer

+0

hakkında çok öğretici bir göz atabilirsiniz. Ancak, herhangi bir karar için ortak fikir “Dene (...). Recover {case err: SAXParseException => ...}' – Zernike

cevap

0

İşte flatmap bir harita artı bir filtre gibi davranır. Filtreleme, ayrıştırmada başarısız olan tüm xmls'leri doldurur. Onları kaydedebilir veya sadece atabilirsiniz. Eğer akıllı senin haricinde bir şey yapmak istiyorsanız

Eğer bu bağlam ayrıntıları olmadan yardım etmek zordur scala here