我的代码
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
但它给了我行,无法识别。
最佳答案
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
.
关于Scala XML 提取逗号分隔符中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55193351/