我有映射列表,并希望获得id = 2的所有映射。当我将列表包装在holder对象中时,所有映射都正常工作(kotlin代码):
class Holder(val value : Any)
val list = listOf(mapOf("id" to 2), mapOf("id" to 3))
val context = Holder(list)
val xpath = "value[id = 2]"
JXPathContext.newContext(context).iterate(xpath)但当我试图摆脱持有对象时:
val context = list
val xpath = "[id = 2]"我得到jxpath语法错误:Invalid XPath。如何使用作为根对象的集合的正确语法?
发布于 2018-03-12 13:18:21
找到答案了。您可以使用/.[id=2]或.[id=2]语法来完成该操作。
发布于 2018-02-27 22:12:34
XML要求只有一个根元素,因此XPath不提供选择多个根元素的方法。
如果要使用XML,则必须使用单个根元素包装元素集合。
https://stackoverflow.com/questions/49018753
复制相似问题