我使用libxmljs解析一些html。
我有一个xpath查询,它有一个“或”连接来基本检索两个查询的信息
实施例
doc.find("//div[contains(@class,'important') or contains(@class,'overdue')]")
这将返回所有重要或过期的div ...
我可以在结果集中添加前缀或查看哪个来自哪个条件?
结果可能是一个数组,其中第一个条件的匹配为0,第二个条件为1的索引......这是可能的......
或者我怎样才能找出哪个查询条件来自哪个结果......
感谢您的帮助......
PS:这是一系列元素的简化示例,这些元素要么具有重要项目,要么具有过期项目......两者,其中一个或者没有......所以我不能去寻找每一个第二个条目......等
这是我想要的结果......
message:{},
message:{
.....
important: "some immportant text",
overdue: "overdue date,
.....
}
答案 0 :(得分:1)
无法知道or
XPath查询的哪个子句导致包含特定结果。这根本不是保留的信息。
您需要对important
和overdue
进行完全独立的查询,或者执行一次大型查询以获取整个结果集(就像您现在一样),然后进一步测试每个结果的类找出它是哪一个。