1

我有一个 NodeSeq 对象,并且想要选择一个标有属性的给定节点。例如,假设<div id="content">...</div>NodeSeq 中有一个标签。

我尝试使用\\NodeSeq 上的方法以及过滤器进行选择。

假设seq是我的 NodeSeq 对象。

seq \\ "div"有效,但这会选择所有<div>元素。

seq.filter(_.attribute("id").equals("content"))根本不选择任何节点,结果列表为空。

如何选择此节点?

4

2 回答 2

2

尝试

scala> var x= <b>
 | <h id="bla"/>
 | <h id="blub"/>
 | </b>

x \\ "h" filter (h=>(h \ "@id" toString) == "bla")

这应该有效。

于 2012-05-29T21:50:42.947 回答
0

或者,您可以尝试以下方法:

seq.filter(_.attribute("id").exists(_.text.equals("content")))
于 2014-03-28T05:49:04.237 回答