使用文本框的XPath日期比较 [英] xpath date comparison using textbox
本文介绍了使用文本框的XPath日期比较的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的xml文件:-
<root>
<name id="1">
<region value="001">
<date value="1989-03-09"/>
</region>
<name id="2">
<region value="002">
<date value="1989-03-09"/>
</region>
</name>
</root>
这是我的代码:- 我尝试:-
this is my code :- i try it:-
function get_list() {
var elName = $('#select').val();
var xPath = '///date[xs:date(./@value,"-","") > xs:date("'+ elName +'")]/../@value';
var iterator = xml.evaluate(xPath, xml.documentElement, null,
XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null);
var thisNode = iterator.iterateNext();
var str = '';
while (thisNode) {
if (str) {
str += ', ';
}
str += thisNode.textContent;
thisNode = iterator.iterateNext();
}
$("#result").text(str);
}
我有一个带有id = select
的文本框
如果<date value="1989-03-10"/>
小于文本框日期,则返回此处的第一个元素属性值...
例如:-
i have one textbox with id = select
here i want to get if <date value="1989-03-10"/>
less-than textbox date then return there first element attribute value...
eg:-
input type="text" 1989-02-05 < 1989-03-10 is true then
o/p是:-1, 2
使用xpath和html对我有好处,而其他也是
谢谢
o/p is:- 1, 2
with using xpath and html is good for me and other is also
thanks
推荐答案
以下查询应该有效:
let $ref-date := xs:date("1989-03-10")
let $data := <root>
<name id="1">
<region value="001">
<date value="1989-03-09"/>
</region>
</name>
<name id="2">
<region value="002">
<date value="1989-03-11"/>
</region>
</name>
</root>
return $data/name[region/date/xs:date(@value) lt $ref-date]
您可以在 http://www.zorba-xquery.com上试用它/html/demo#r0KwHwjp1weVwefDUn1Z6roVD3A =
这篇关于使用文本框的XPath日期比较的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文