[英]scala node match case
這工作:
<a>apple</a>
node match {
case <a>{contents}</a> => "It's an a: "+ contents
case _ => "It's something else."
}
我怎么能修改這個例子,以便它只匹配一個帶有標簽“a”和屬性id = 2的節點:如下所示:
<a id="2">apple</a>
node match {
case <a id="2">{contents}</a> => "It's an a: "+ contents
case _ => "It's something else."
}
但這不編譯。
這是一種方法:
node match {
case a @ <a>{contents}</a> if (a \ "@id").text == "2" => "It's an a: " + contents
case _ => "It's something else."
}
還有一種方法,就是為了它。
<a id="2">apple</a> match {
case Node("a", Attribute("id", Text("2"), _), Text(contents)) => contents
}
但是,對多個屬性不起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.