这是xml的一部分: -
<products>
<product_id value="1">
<tab_id value="351">
<tab_name value="test1"/>
<date value="2013\05\10 12:30:00" />
</tab_id>
</product_id>
<product_id value="2">
<tab_id value="352">
<tab_name value="test2"/>
<date value="2013\05\12 12:00:00" />
</tab_id>
</product_id>
</products>
我在一个变量中有以下字符串: -
var result_date="2013\05\10,2013\05\11,2013\05\12,2013\05\13";
在这里,我想使用xml文件元素result_date
检查date
每个日期
使用javascript和xpath
如果result_date
与xml date
匹配,则返回product_id
我不知道如何检查yyyy/mm/dd hh:mm:ss
到yyyy/mm/dd
预期产出: -
1,2
这两个都是我的xml文件中的product_id
帮助我解决这个问题
thansk
答案 0 :(得分:2)
您正在寻找的xpaht表达式应该是:
var path="//product_id[contains('" + result_date+ "',substring-before(date/@value ,' '))]";
搜索任何product_id,其中日期中空白之前的子字符串是变量result_date的一部分。
大多数浏览器支持“评估”(但不支持IE)。
var nodes=xml.evaluate(path, xml, null, XPathResult.ANY_TYPE, null);
var result=nodes.iterateNext();
while (result)
{
document.write(result.attributes.value.nodeValue);
document.write("<br>");
result=nodes.iterateNext();
}
如果你的“result_date”是一个const字符串。你必须意识到逃避。
var result_date='2013\\05\\10,2013\\05\\11,2013\\05\\12,2013\\05\\13';