1
指望我已经在XML格式斯卡拉:让孩子节点XML
val XML =
<a>
<b>value_b</b>
<c>
<c_1>value_c_1</c_1>
<c_2>value_c_2</c_2>
<c_3>value_c_3</c_3>
</c>
<b>value_b</b>
<c>
<c_1>value_c_1</c_1>
<c_2>value_c_2</c_2>
<c_3>value_c_3</c_3>
</c>
<b>value_b</b>
<c>
<c_1>value_c_1</c_1>
<c_2>value_c_2</c_2>
<c_3>value_c_3</c_3>
</c>
</a>
我想<c>
下为孩子计数我试图 (XML \\ "c").length
但是这给计全部为<c>
标签。我无法访问descendant
作为(XML \\ "c")
返回NodeSeq
尝试(XML \\ "c" \\ "_").length
给出所有记录的总长度。不知道我如何访问子节点。有任何想法吗?
编辑: (XML \\ "c" \ "_").length/(XML \\ "c").length
这给<c>
下领域的正确计数。但是,我觉得它有点笨拙。需要一个更好的解决方案。
你有什么需要得到什么? (3,3,3)或9? –
我只需要3个。不是总数9或列表(3,3,3) – kaur
我编辑了我的答案。在Scala XPath中可能不会更好。 –