Scala解析大型XML元素
在Scala中,我试图用以下格式解析一个大型XML元素:Scala解析大型XML元素,xml,scala,Xml,Scala,在Scala中,我试图用以下格式解析一个大型XML元素: 0.680.370.07 0.680.370.07 0.680.370.07 … … 我想将这个元素的每一行分解成一个double类型的元组(可能),并将每个元组添加到一个容器中。到目前为止,我掌握的代码是: val sample = scala.xml.XML.loadFile("filename.xml") (sample \ "position") 在我看来,最直接的方法是 (sample \ "position").text
0.680.370.07
0.680.370.07
0.680.370.07
…
…
我想将这个元素的每一行分解成一个double类型的元组(可能),并将每个元组添加到一个容器中。到目前为止,我掌握的代码是:
val sample = scala.xml.XML.loadFile("filename.xml")
(sample \ "position")
在我看来,最直接的方法是
(sample \ "position").text.trim.split('\n')
.map(_.split(" ").map(_.toDouble))
.map(x => (x(0), x(1), x(2)))
这不适用于真正大的XML文件,因为XML库使用DOM解析器。您或者必须将整个XML作为字符串读取,并按照上面的回答直接使用tequniques,或者切换到SAX或Pull解析器。