我正在使用tinyxpath-1.3.1。 Linux上的C/C++。当我在文档上进行xpath搜索时,我认为我应该找不到节点。在tinyxpath中给出错误匹配和不匹配的属性比较
我的XML:
<data>
<event deviceId="25479545.5" interface="sensor-multilevel"
command="state" label="luminance" newValue="800"
oldValue="9" time="1412227484" />
</data>
我的XPath表达式:
/data/event[@deviceId="25479545.5" and @interface="sensor-multilevel" and
@label="luminance" and @newValue>600 and @oldValue<10]
如果我参加了oldValue
并使用()
这样的比较工作:
/data/event[(@deviceId="25479545.5" and @interface="sensor-multilevel") and
(@label="luminance" and @newValue>600)]
有一些限制比较的数量?
将600转换为小数的任何特殊情况?
我需要“”600的价值,它似乎无论如何工作。
关于如何使它与表达式中包含的oldValue属性一起工作的任何想法?
TinyXPath电话:
TiXmlNode * node = TinyXPath::XNp_xpath_node(root, expression.c_str());
感谢 拉里
如果你忽略'oldValue'而不使用括号会发生什么? – 2014-10-06 22:22:39
如果我遗漏了oldValue并且没有使用parnethesis,它将无法匹配。 – 2014-10-06 22:27:14
我刚刚在http://www.freeformatter.com/xpath-tester.html上试过了你的xpath表达式。它只有在我用'<' and '>'代替'<'和'>'代码时才有效。你可以试试吗? – 2014-10-06 22:36:25