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 に答える