0

这是 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";

在这里,我想result_date使用 xml 文件元素检查每个日期date
使用 javascript 和 xpath。
如果result_date在 xml 中匹配date然后返回那里product_id
我不知道如何检查yyyy/mm/dd hh:mm:ss预期的yyyy/mm/dd
输出: -

 1,2

这两个都product_id在我的 xml 文件中。
帮我解决这个问题。
谢谢

4

1 回答 1

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”是一个常量字符串。你必须意识到逃避。

var result_date='2013\\05\\10,2013\\05\\11,2013\\05\\12,2013\\05\\13';
于 2013-05-04T07:12:45.100 回答