如何在Javascript中根据搜索条件扫描文本文件并从中提取数据

如何在Javascript中根据搜索条件扫描文本文件并从中提取数据,javascript,datepicker,Javascript,Datepicker,我正在尝试创建一个网页,其中包含一个日历查询日期选择器,用于播放存储在vimeo上的特定日期的视频。 到目前为止,我成功地将单击的日期分配给var日期。 现在我需要找到这个日期对应的vimeo ID,以便将其分配给嵌入式vimeo播放器。 我认为最好的方法是阅读一个包含以下内容的文本文件,这些内容我已经存储在我的网页文件夹中 …… 02-04-2014_-Vevey 98230271 02-05-2014_-Vevey 98231062 02-06-2014_-Vevey 98231771 03

我正在尝试创建一个网页,其中包含一个日历查询日期选择器,用于播放存储在vimeo上的特定日期的视频。 到目前为止,我成功地将单击的日期分配给var日期。 现在我需要找到这个日期对应的vimeo ID,以便将其分配给嵌入式vimeo播放器。 我认为最好的方法是阅读一个包含以下内容的文本文件,这些内容我已经存储在我的网页文件夹中

…… 02-04-2014_-Vevey 98230271 02-05-2014_-Vevey 98231062 02-06-2014_-Vevey 98231771 03-04-2014_Vevey 98232437 03-05-2014_-Vevey 98232658 03-06-2014_-Vevey 98233405 04-04-2014_-Vevey 98234165 04-05-2014_-Vevey 98234754

每行包含一个日期信息和相应的vimeo ID

关键是我刚刚开始使用Javascript,不知道如何发送搜索条件,逐行读取文件,从第一部分提取日期,将其与搜索条件进行比较,然后返回ID。 有没有人愿意花点时间来帮助我? 多谢各位

丹尼尔这里:


您可以通过在文件路径上执行httpXMLrequest或$.ajax来请求文件的完整内容。如果您使用jquery,那么您可以使用一些正则表达式来处理它

但是,如果您使用有组织的格式(如xml)存储数据,则会容易得多

使用xml文件,您将能够使用xpath查询它,这使得在文件中查找所需内容非常容易

这是确切的密码

<script type="text/javascript">
  function vimeo_id_search() {
  var message = document.evaluate("//VimeoIds//VimeoID[@date='04-04-2014']",document.documentElement, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
  document.getElementById("info").innerHTML += message.snapshotItem(0).getAttribute("id");
}
</script>

</head>

<body>

<VimeoIds>
    <VimeoID date="02-04-2014" id="Vevey 98324123">
    <VimeoID date="03-04-2014" id="Vevey 23565723">
    <VimeoID date="04-04-2014" id="Vevey 67578673">
    <VimeoID date="05-04-2014" id="Vevey 09876542">
</VimeoIDs>

<button onclick="vimeo_id_search()">Try it</button>
<div id="info" style="background-color:#e0b0b0; width:400px"></div>
</body>
</html>

@朱利安;尝试了您提出的解决方案,但显然是错误的,请参见下文。 还有一件事是,日期ID数据存储在一个外部文件中,该文件通过bash脚本自动timelapse电影生成器每天更新。所以我需要把这些数据放到页面上

<script type="text/javascript">
  function vimeo_id_search() {
  var message = document.evaluate("//VimeoIds//VimeoID//@date[04-04-2014]",document.documentElement, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);document.getElementById("info").innerHTML = message;
}
</script>

</head>

<body>

<VimeoIds>
    <VimeoID date="02-04-2014" id="Vevey 98324123">
    <VimeoID date="03-04-2014" id="Vevey 23565723">
    <VimeoID date="04-04-2014" id="Vevey 67578673">
    <VimeoID date="05-04-2014" id="Vevey 09876542">
</VimeoIDs>

<button onclick="vimeo_id_search()">Try it</button>
<div id="info" style="background-color:#e0b0b0; width:400px"></div>
</body>
</html>

我相信我有这个想法,但我有限的技能甚至不允许我运行我的测试脚本查看新的postLooks great gtramontina,但我需要一些时间,先理解然后测试。你能帮我把这个放进一个html文件吗?我看到您编写了模拟数据源;这是否意味着我可以从文件中读取它?;因为这就是事实;i、 我有一个每天从bash脚本自动生成并完成的文件。您是打算在某个地方托管它-http://-,还是这是一个普通的html文件,您可以从文件://访问?如果它将被托管,那么我建议您的服务器提供一个资源/视频,您将向其发出如下请求:GET/videos?from=03-04-2014&to=04-06-2014。然后,读取文件和搜索的整个工作都在服务器上,而不是在客户端。我的网站在家中托管在创建所述文件的同一台机器上。目前,它是由bash脚本写入与我的'index.html'文件相同的文件夹中的。但我可以把它放在任何需要的地方。也可以重新格式化内容,但只需要日期和文本引用。例如:03-06-2014_Camera1 xyzxyz,其中xyzxyz对应于我需要播放vimeo视频的参考。请参见上面对Julien的回复,您是否有办法配置此批次的输出,或者您是否必须坚持此格式?你能告诉我们更多关于这个生成的文件的约束或自由吗?没有约束。只需要一个日期和文本参考。每天日落后,当上传一段由白天拍摄的1500张照片制作的ffmpeg视频时,通过bash脚本自动生成该文件。文本参考使我能够知道用于timelapse视频的图片来自哪个摄像头。您可以在这里看到一个上传的示例,以及我在www.oryxcam.com上尝试做的事情
<script type="text/javascript">
  function vimeo_id_search() {
  var message = document.evaluate("//VimeoIds//VimeoID//@date[04-04-2014]",document.documentElement, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);document.getElementById("info").innerHTML = message;
}
</script>

</head>

<body>

<VimeoIds>
    <VimeoID date="02-04-2014" id="Vevey 98324123">
    <VimeoID date="03-04-2014" id="Vevey 23565723">
    <VimeoID date="04-04-2014" id="Vevey 67578673">
    <VimeoID date="05-04-2014" id="Vevey 09876542">
</VimeoIDs>

<button onclick="vimeo_id_search()">Try it</button>
<div id="info" style="background-color:#e0b0b0; width:400px"></div>
</body>
</html>