Scala XML извлекает элемент в разделитель запятых - PullRequest
3 голосов
/ 16 марта 2019

Мой код

scala.xml.XML.loadString("<?xml version='1.0' encoding='utf-8'?>" + line(1)).child

Это даст мне список следующим образом:

List(<c2>KH0011201</c2>, <c3>-1</c3>, <c4>380</c4>, <c7>50000</c7>, <c98/>)

Я хочу быть таким

KH0011201, -1, 380, 50000, null

Я пробовал с:

scala.xml.XML.loadString("<?xml version='1.0' encoding='utf-8'?>" + line(1)).child.text

но это дает мне строку, не может быть идентифицировано.

1 Ответ

3 голосов
/ 16 марта 2019

Метод xml.Elem::text, который вы пытались использовать, действительно является правильным методом для вызова, но вы должны применять его к каждому дочернему элементу в преобразовании карты:

import scala.xml.Elem

List[Elem](<c2>KH0011201</c2>, <c3>-1</c3>, <c4>380</c4>, <c7>50000</c7>, <c98/>)
  .map(_.text)
// List[String] = List("KH0011201", "-1", "380", "50000", "")

Обратите внимание, что он преобразуетзначение пустого элемента <c98/> в "", а не null.

...