scala中列出的XML数据

时间:2012-08-04 17:24:27

标签: xml scala xml-parsing

我遇到了一个似乎相当常见的问题,但我真的找不到解决问题的方法。 我有一个大的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>

我希望将这些信息解析为一个哈希映射,如&#34; Map [String,Int](yyy,123)&#34;(一个映射的数据类型)。

我到目前为止所发现的所有例子都在解释我如何得到像&#34; zzzhelloxyzworld&#34;如果我寻找&#34; str&#34;标签或如何找出&#34;名称&#34;在&#34; str&#34;内的属性标签,但我知道名称属性,并希望在&#34; str&#34;标签。

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

为我提供了所有属性值的映射。但我不知道如何获取数据。

我希望有人可以帮助我,因为在我看来这是一项常见的任务,我不知道为什么我找不到任何解决办法。

1 个答案:

答案 0 :(得分:1)

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

给出

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