2012-08-04 108 views
2

我有一个问题,这似乎是相当普遍的,但我真的找不到解决它的工作方法。 我有一个大的XML文件,并将解析它。文档结构如下:XML数据以列表在斯卡拉

<response> 
<result> 
    <doc> 
     <float name="xxx">0.0</float> 
     <int name="yyy">123</int> 
     <str name="zzz">hello</str> 
     <str name="xyz">world</str> 
    </doc> 
</result></response> 

和我想此信息解析成一个散列图像“地图[字符串,INT](YYY,123)”(一个地图FO空想数据类型)。

我发现的所有例子,直到现在解释如何我可以得到像“zzzhelloxyzworld”结果,如果我寻找“str”标签或如何我可以找出“str”标签内的“名称”属性但我知道名称属性,并希望在“str”标签中包含信息。

(xmldoc \\ "str").map(n => (n \ "@name").text) 

例如给我一个所有属性值的映射。但我不知道获取数据的方法。

我希望有人能帮助我,因为在我看来,这是一个常见的任务,我不知道为什么我找不到任何解决方案。

回答

1
(xmldoc \\ "str").map(n => (n \ "@name").text -> n.text).toMap 

scala.collection.immutable.Map[String,String] = Map(zzz -> hello, xyz -> world) 
+0

感谢,我知道这只能是一个班轮;) – 2012-08-04 17:40:26

+0

很高兴帮助:) – viktortnk 2012-08-04 17:41:06