即使我使用0,javascript结果数组也只打印最后一行XML行

时间:2013-03-15 18:01:46

标签: javascript xml html5

我有字幕XML文件,它有start,dur和text来分配temporay数组,然后传递给每个索引的Subtitle数组。当我想看到带有0索引的Subtitle数组时,它应该打印第一个包含start,dur和text的文本行,而是打印最后一个文本行。 错误的结果显示,

467.071,3.643,感谢收看,请订阅,评分和评论

我尝试了索引50,它仍然打印最后一行。我是在错误的循环中添加它还是什么?

以下是前3行XML的示例(总文本行数为136),

<transcript>
<text start="2.014" dur="1.276">Greetings fellow nerds.</text>
<text start="3.291" dur="3.446">In this video we&#39;re going to make glow sticks of various colors</text>
<text start="6.738" dur="2.277">and explain a few interesting points about them.</text>
</transcript> 

这是一个javascript示例,

<script type="text/javascript">
            function loadXMLDoc(dname)
            {
                if (window.XMLHttpRequest)
                {
                xhttp=new XMLHttpRequest();
                }
                else
                {
                xhttp=new ActiveXObject("Microsoft.XMLHTTP");
                }
                xhttp.open("GET",dname,false);
                xhttp.send();

                return xhttp.responseXML;
            }

            function init()
            {
                var subtitleArray = new Array();
                var tempArray = new Array();
                var c = document.getElementById('container');

                captionsDoc = loadXMLDoc("captions.xml");
                x=captionsDoc.getElementsByTagName('text');

                for(i=0;i<x.length;i++)
                {
                    tempArray[0] = x[i].getAttribute('start');
                    tempArray[1] = x[i].getAttribute('dur');
                    tempArray[2] = x[i].childNodes[0].nodeValue;

                    subtitleArray[i] = tempArray;

                }


                c.innerHTML = subtitleArray[0];
            }
            window.onload = init;
        </script>

0 个答案:

没有答案