【发布时间】:2015-07-30 23:22:07
【问题描述】:
我对 scala 非常陌生,所以如果这看起来很基本,请耐心等待。 我有以下 XML 文件
<xml>
<things/>
<items>
<stuff name="John"/>
<stuff name="Jacob"/>
<stuff name="George"/>
<stuff name="alice"/>
</items>
</xml>
并且从这个文件中我想看看一个特定的名称属性是否存在于一个东西标签中。 (例如:查看 Jacob 是否存在或查看 Lisa 是否存在于 xml 文件中)
到目前为止,我有以下代码
import scala.xml._
val xml = XML.loadFile("sample.xml")
val stuff = (xml \\ "stuff")
//The following val contains: scala.collection.immutable.Seq[scala.xml.MetaData] = List( name="John", name="Jacob", name="George", name="alice")
val names= stuff.map(_.attributes)
现在我注意到这会创建一个 List,但是当我对 val 名称使用 contains 方法时,即使对于像 alice 这样的值,它也会给我 false。
val exists= names.contains("alice")
在 REPL 中产生这个输出:
exists: Boolean = false
如何测试此文件中是否包含值?
【问题讨论】: