javascript - 在javascript中抓取和显示xml格式的字符串

标签 javascript regex string loops xml-parsing

我有以下已从 xml 页面解析的字符串:

var info = '<Message>Fermata 1431 - Linea 202 -> 08:57 Linea 201 -> 09:02 Linea 256B -> 09:02 Linea 202 -> 09:05 Linea R2 -> 09:06 Linea 201 -> 09:13 Linea 201 -> 09:18 </Message>'

我必须在纯 javascript 中去除 标签,我正在使用

 info = data.match(/<Message>(.*?)<\/Message>/g);

但它仍然显示消息标签,看来我没有使用正确的正则表达式。

总的来说,我需要打印这个,全部使用纯 javascript,不幸的是没有 jquery:

202 at 08:57 201 at 09:02 256B at 09:02 202 at 09:05 R2 at09:06 201 at 09:13 201 at 09:18

在 php 中,我使用了这段代码,它可以工作,但我需要在 javacript 中进行转换:

$scraped_data = scrape_between($info, "<Message>", "</Message>")
$parts = explode('Linea', $scraped_data);

        //start from 1, as the 1st item in array is 'Fermata 1431 - '
        for($i=1;$i<count($parts);$i++){
            echo '<p>Linea ' . str_replace('->', 'at', $parts[$i]) . '</p>';
        }

最佳答案

您可以尝试以下..

var info = '<Message>Fermata 1431 -  Linea 202 -> 08:57  Linea 201 -> 09:02  Linea 256B -> 09:02  Linea 202 -> 09:05  Linea R2 -> 09:06  Linea 201 -> 09:13  Linea 201 -> 09:18   </Message>';
var arr  = info.match(/[\w\d]+\s*->\s*[\d:]+/g);

for(var i=0; i < arr.length; i++) {
  arr[i] = arr[i].replace('->', 'at');
  console.log('Linea ' + arr[i]);
}

输出

Linea 202 at 08:57
Linea 201 at 09:02
Linea 256B at 09:02
Linea 202 at 09:05
Linea R2 at 09:06
Linea 201 at 09:13
Linea 201 at 09:18

关于javascript - 在javascript中抓取和显示xml格式的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24076349/

相关文章:

c - 如何在C中捕获宏名称?

c# - 用于匹配仅包含数字而不包含字母的字符串的正则表达式

javascript - javascript 正则表达式失败

javascript如何计算多行动态添加字段中的值

javascript - 当 Silverlight 调用 JavaScript window.alert/prompt 时 Windows Safari 卡住

r - grepl 与正则表达式

c# - 为什么 "K".Length 给我错误的结果?

c - 如何设置字符串类型的结构成员

javascript - 表达式中使用了未声明、未初始化的变量 : what to think?

javascript - 如何使用 jsZip 作为驻留在同一服务器上的图像 url