2015-07-13 4 views
0

Я имею дело с онлайн-файл XML, содержащий пустые поля:Работа с XML разборе Scala

<item/> 

Так что, когда я использую Scala функции XML API .text:

(father \\ "item").text 

Моя программа просто останавливается (без ошибок). Как я могу предотвратить запуск моего кода в этой проблеме?

Я не нашел ничего в API Scala, который работал для меня (.isEmpty, equals (null)). Возможно, библиотека может помочь мне решить эту проблему.

+1

Какую версию Scala/scala-xml вы используете? Здесь '( \\" item "). Text' возвращает пустую строку (' String = "" ') –

+0

' (father \\ "item"). Text.isEmpty' должен работать просто отлично. – nattyddubbs

+0

мне возвращается . Я на версии 2.10 –

ответ

0

(father \\ "item").text.isEmpty должно работать просто отлично.

0

Это, вероятно, слишком много, но если вы имеете дело с большим количеством xml, я работал над проектом, который требует обширного анализа XML. Мы закончили открытый поиск библиотеки, которую мы построили, Xtract. Возможно, это будет полезно для будущих проектов. Для этого решения это будет выглядеть так:

val emptyReader = (__ \\ "item").read[String].filter(text => !text.isEmpty) 
Смежные вопросы