0
我試過使用「contains」函數,如果nodeSeq包含一個元素,它應該給出一個布爾值,但它不適用於我。如何檢查NodeSeq是否包含特定元素
例如: SEQ =
<parent>
<child1 />
<child2 />
</parent>
如果我使用seq.contains( 「child1」),它給了我假的。我錯過了什麼嗎?
我試過使用「contains」函數,如果nodeSeq包含一個元素,它應該給出一個布爾值,但它不適用於我。如何檢查NodeSeq是否包含特定元素
例如: SEQ =
<parent>
<child1 />
<child2 />
</parent>
如果我使用seq.contains( 「child1」),它給了我假的。我錯過了什麼嗎?
NodeSeq似乎包含一個有孩子的節點(你是「父」標籤)。此代碼似乎工作:
nodeSeq.child.contains(<child1 />)
或者您可以使用XPath找到孩子
(nodeSeq \\ "child3").nonEmpty == false
(nodeSeq \\ "child2").nonEmpty == true
(nodeSeq \\ "parent").nonEmpty == true
http://alvinalexander.com/scala/scala-xml-searching-xmlns-namespaces-xpath-解析有關xpath支持的更多細節。 –
謝謝@AngeloGenovese。 (nodeSeq \\「child3」)。nonEmpty工作。 – skhaapioloir
@skhaapioloir,你說這個工作,但答案還沒有被「接受」。有什麼不對? – jwvh