我有一个NodeSeq对象,想要选择一个标有属性的给定节点。例如,假设NodeSeq中有一个标记<div id="content">...</div>
。
我尝试使用NodeSeq上的方法\\
以及过滤器进行选择。
假设 seq 是我的NodeSeq对象。
seq \\ "div"
有效,但会选择所有<div>
元素。
seq.filter(_.attribute("id").equals("content"))
根本不选择任何节点,结果列表为空。
如何选择此节点?
答案 0 :(得分:2)
尝试
scala> var x= <b>
| <h id="bla"/>
| <h id="blub"/>
| </b>
x \\ "h" filter (h=>(h \ "@id" toString) == "bla")
这应该有用。
答案 1 :(得分:0)
或者,您可以尝试以下方法:
seq.filter(_.attribute("id").exists(_.text.equals("content")))