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