Javascript读取txt文件中的特定行并为其分配id

时间:2015-08-22 03:39:11

标签: javascript jquery html twitter-bootstrap

我有一个像这样结构的文本文件......

<head>
<script type="text/javascript">
    function readfileautomatically();
</script>
</head>

<body>
<body onload="readfileautomatically();">

<td id="foo"></td>



<script>
function readfileautomatically () {

var client = new XMLHttpRequest();
client.open('GET', '/foo.txt');
client.onreadystatechange = function() {
alert(client.responseText);
       }
client.send();

}

</script>
</body>

我使用以下代码读取txt文件

<td="line3"> world from txt file will be here  </td>
<td="line1"> hello from txt file will be here  </td>

目前,通过上述内容,我可以阅读文本文件并提醒内容。我现在想扩展我的代码并执行此操作。

页面加载时读取foo.txt

从txt文件id = line3

分配第3行世界

从txt文件id = line1

中分配第1行hello

所以我可以这样做:

{{1}}

非常感谢任何帮助。

5 个答案:

答案 0 :(得分:3)

如果您有任何疑问,请告诉我们。)

public ActionResult Index(int id)
{

    var order_Items = db.Order_Items.Include(o => o.Item).Include(o => o.Order).Where(o => o.OrderId == id);

    return View(order_Items.ToList());
}

答案 1 :(得分:1)

要将文件拆分为行,您可以尝试String#split方法,按\n个字符(换行符)拆分。这会给你一系列的行。

例如:

var text = client.responseText;
var lines = text.split("\n"); // create array of lines
document.getelementById("line3").innerHTML = lines[2]; // Arrays start at zero
document.getelementById("line1").innerHTML = lines[0];

答案 2 :(得分:1)

variations between newline on different systems

您必须在新行字符上拆分文本并遍历数组。注意{{3}}

function numPyramids(n){

  var distinctPartitions = [1,1],
      pentagonals = {},
      m = _m = 1,
      pentagonal_m = 2,
      result = 1;

  while (pentagonal_m / 2 <= n){
    pentagonals[pentagonal_m] = Math.abs(_m);
    m++;
    _m = m % 2 == 0 ? -m / 2 : Math.ceil(m / 2);
    pentagonal_m = _m * (3 * _m - 1);
  }

  for (var k=2; k<=n; k++){
    distinctPartitions[k] = pentagonals[k] ? Math.pow(-1,pentagonals[k]) : 0;
    var cs = [1,1,-1,-1],
        c = 0;
    for (var i in pentagonals){
      if (i / 2 > k)
        break;
      distinctPartitions[k] += cs[c]*distinctPartitions[k - i / 2];
      c = c == 3 ? 0 : c + 1;
    }
    result += distinctPartitions[k];
  }
  return result;
}

console.log(numPyramids(6)); // 13

答案 3 :(得分:1)

enter image description here Code Source

使用此js:

function /*<trigger load function>*/ () {
var client = new XMLHttpRequest();
client.open('GET', '//<path to file>');
client.onreadystatechange = function()
{
var txt = client.responseText.split("\n");
document.getElementById("/*<output variable, include beginning slash>*/").innerHTML = txt[<line, 0-9 style>];
/*<duplicate this line for all lines of the file you would like to read, but dont forget unique numbers>*/
}
client.send();
}

创建<? id =“ <输出变量>”>您要在其中显示行的标记。

替换为“?”标签名称为“ p”,“ txt”,“ div”,“ xmpl”,“ rgx”或“ ”。

“ xmpl”和“ rgx”不是真正的标记,它们只是首选项,但在某些MT CSS文件中具有样式。

用所示数据类型替换三角括号中包含的所有内容。这不是HTML,而是JS。

我已将代码优化为具有突出显示的修改点的纯js代码。

顺便说一句,您可以使用“&lt;”和“&gt;”重新创建三角括号和“&amp;”一开始是&符。此代码是一个&符号,后跟文本(区分大小写)以重新创建特殊字符。完整列表可用[此处] [3]。

*一些链接指向即将发布的页面。
*某些链接会导致该帖子的创建者创建一个网站(您知道吗?)。

答案 4 :(得分:0)

尝试使用参数.split() RegExp调用/\b/,使用for循环迭代生成的数组,如果数组的索引为{{1,则创建td元素} {} 0"Hello"2

"world"

jsfiddle http://jsfiddle.net/pvd0q36x/