XMLHttpRequest:文档元素之后的垃圾

时间:2014-06-30 11:04:44

标签: javascript xml xmlhttprequest

我正在尝试读取服务器发送到Web客户端(浏览器)的xml文件。

我的javascript来自w3School:

function loadXMLDoc(filename){
    var xhttp;
    if (window.XMLHttpRequest){
      xhttp=new XMLHttpRequest();
    }else{ // code for IE5 and IE6
      xhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xhttp.open("GET",filename,false);
    xhttp.send();
    return xhttp.responseXML;
}

它停在“xhttp.send();”行在此xml文件的第15行(在第二个<registro>标记上)出现错误“文档元素之后的垃圾”:

<?xml version="1.0" encoding="UTF-8"?>
<registro>
    <log>
        <luogo>Centrale</luogo>
        <azione>Carico</azione>
        <operatore>STEFANO-STELLA-8934</operatore>
        <stocks>
            <stock quantità="30">Sneaker-Minus(40)</stock>
            <stock quantità="30">Sneaker-Minus(41)</stock>
            <stock quantità="20">Sneaker-Plus(40)</stock>
        </stocks>
        <data>010414</data>
    </log>
</registro>
<registro>
    <log>
        <luogo>Centrale</luogo>
        <azione>Carico</azione>
        <operatore>STEFANO-STELLA-8934</operatore>
        <stocks>
            <stock quantità="4">Conserve-Classic-Green(39)</stock>
            <stock quantità="6">Conserve-Classic-Green(40)</stock>
            <stock quantità="8">Conserve-Classic-Green(41)</stock>
            <stock quantità="4">Conserve-Classic-Green(42)</stock>
            <stock quantità="4">Conserve-Classic-Green(43)</stock>
            <stock quantità="8">Sneaker-Country(40)</stock>
            <stock quantità="16">Sneaker-Country(41)</stock>
            <stock quantità="24">Sneaker-Country(42)</stock>
            <stock quantità="16">Sneaker-Country(43)</stock>
            <stock quantità="16">Sneaker-Country(44)</stock>
            <stock quantità="8">Sneaker-Country(45)</stock>
            <stock quantità="3">Sneaker-Country(46)</stock>
            <stock quantità="4">Sneaker-Plus(38)</stock>
            <stock quantità="6">Sneaker-Plus(39)</stock>
            <stock quantità="30">Sneaker-Plus(40)</stock>
            <stock quantità="30">Sneaker-Plus(41)</stock>
            <stock quantità="30">Sneaker-Plus(42)</stock>
            <stock quantità="20">Sneaker-Plus(43)</stock>
            <stock quantità="2">Sneaker-Plus(44)</stock>
        </stocks>
        <data>300314</data>
    </log>
    <log>
        <luogo>Novara01</luogo>
        <azione>Sarico</azione>
        <operatore>STEFANO-STELLA-8934</operatore>
        <stocks>
            <stock quantità="2">Conserve-Classic-Green(39)</stock>
            <stock quantità="2">Conserve-Classic-Green(40)</stock>
            <stock quantità="2">Conserve-Classic-Green(41)</stock>
            <stock quantità="2">Conserve-Classic-Green(42)</stock>
            <stock quantità="2">Conserve-Classic-Green(43)</stock>
            <stock quantità="8">Sneaker-Country(40)</stock>
            <stock quantità="8">Sneaker-Country(41)</stock>
            <stock quantità="8">Sneaker-Country(42)</stock>
            <stock quantità="8">Sneaker-Country(43)</stock>
            <stock quantità="8">Sneaker-Country(44)</stock>
            <stock quantità="8">Sneaker-Country(45)</stock>
            <stock quantità="2">Sneaker-Country(46)</stock>
            <stock quantità="2">Sneaker-Plus(38)</stock>
            <stock quantità="2">Sneaker-Plus(39)</stock>
            <stock quantità="8">Sneaker-Plus(40)</stock>
            <stock quantità="8">Sneaker-Plus(41)</stock>
            <stock quantità="8">Sneaker-Plus(42)</stock>
            <stock quantità="8">Sneaker-Plus(43)</stock>
            <stock quantità="2">Sneaker-Plus(44)</stock>
        </stocks>
        <data>300314</data>
    </log>
</registro>
<registro>
    <log>
        <luogo>Torino01</luogo>
        <azione>Scarico</azione>
        <operatore>STEFANO-STELLA-8934</operatore>
        <stocks>
            <stock quantità="2">Conserve-Classic-Green(39)</stock>
            <stock quantità="2">Conserve-Classic-Green(40)</stock>
            <stock quantità="2">Conserve-Classic-Green(41)</stock>
            <stock quantità="2">Conserve-Classic-Green(42)</stock>
            <stock quantità="2">Conserve-Classic-Green(43)</stock>
            <stock quantità="2">Sneaker-Country(40)</stock>
            <stock quantità="2">Sneaker-Country(41)</stock>
            <stock quantità="2">Sneaker-Country(42)</stock>
            <stock quantità="2">Sneaker-Country(43)</stock>
            <stock quantità="2">Sneaker-Country(44)</stock>
            <stock quantità="2">Sneaker-Country(45)</stock>
            <stock quantità="2">Sneaker-Country(46)</stock>
            <stock quantità="2">Sneaker-Plus(38)</stock>
            <stock quantità="2">Sneaker-Plus(39)</stock>
            <stock quantità="2">Sneaker-Plus(40)</stock>
            <stock quantità="2">Sneaker-Plus(41)</stock>
            <stock quantità="2">Sneaker-Plus(42)</stock>
            <stock quantità="2">Sneaker-Plus(43)</stock>
            <stock quantità="2">Sneaker-Plus(44)</stock>
        </stocks>
        <data>310314</data>
    </log>
</registro>

可能是什么问题?

2 个答案:

答案 0 :(得分:2)

您的XML无效,因为它有多个根节点

答案 1 :(得分:1)

请验证xml。xml validate您之间不需要<registro>个标记

<?xml version="1.0" encoding="UTF-8"?>
<registro>
<log>
    <luogo>Centrale</luogo>
    <azione>Carico</azione>
    <operatore>STEFANO-STELLA-8934</operatore>
    <stocks>
        <stock quantità="30">Sneaker-Minus(40)</stock>
        <stock quantità="30">Sneaker-Minus(41)</stock>
        <stock quantità="20">Sneaker-Plus(40)</stock>
    </stocks>
    <data>010414</data>
</log>

<log>
    <luogo>Centrale</luogo>
    <azione>Carico</azione>
    <operatore>STEFANO-STELLA-8934</operatore>
    <stocks>
        <stock quantità="4">Conserve-Classic-Green(39)</stock>
        <stock quantità="6">Conserve-Classic-Green(40)</stock>
        <stock quantità="8">Conserve-Classic-Green(41)</stock>
        <stock quantità="4">Conserve-Classic-Green(42)</stock>
        <stock quantità="4">Conserve-Classic-Green(43)</stock>
        <stock quantità="8">Sneaker-Country(40)</stock>
        <stock quantità="16">Sneaker-Country(41)</stock>
        <stock quantità="24">Sneaker-Country(42)</stock>
        <stock quantità="16">Sneaker-Country(43)</stock>
        <stock quantità="16">Sneaker-Country(44)</stock>
        <stock quantità="8">Sneaker-Country(45)</stock>
        <stock quantità="3">Sneaker-Country(46)</stock>
        <stock quantità="4">Sneaker-Plus(38)</stock>
        <stock quantità="6">Sneaker-Plus(39)</stock>
        <stock quantità="30">Sneaker-Plus(40)</stock>
        <stock quantità="30">Sneaker-Plus(41)</stock>
        <stock quantità="30">Sneaker-Plus(42)</stock>
        <stock quantità="20">Sneaker-Plus(43)</stock>
        <stock quantità="2">Sneaker-Plus(44)</stock>
    </stocks>
    <data>300314</data>
</log>
<log>
    <luogo>Novara01</luogo>
    <azione>Sarico</azione>
    <operatore>STEFANO-STELLA-8934</operatore>
    <stocks>
        <stock quantità="2">Conserve-Classic-Green(39)</stock>
        <stock quantità="2">Conserve-Classic-Green(40)</stock>
        <stock quantità="2">Conserve-Classic-Green(41)</stock>
        <stock quantità="2">Conserve-Classic-Green(42)</stock>
        <stock quantità="2">Conserve-Classic-Green(43)</stock>
        <stock quantità="8">Sneaker-Country(40)</stock>
        <stock quantità="8">Sneaker-Country(41)</stock>
        <stock quantità="8">Sneaker-Country(42)</stock>
        <stock quantità="8">Sneaker-Country(43)</stock>
        <stock quantità="8">Sneaker-Country(44)</stock>
        <stock quantità="8">Sneaker-Country(45)</stock>
        <stock quantità="2">Sneaker-Country(46)</stock>
        <stock quantità="2">Sneaker-Plus(38)</stock>
        <stock quantità="2">Sneaker-Plus(39)</stock>
        <stock quantità="8">Sneaker-Plus(40)</stock>
        <stock quantità="8">Sneaker-Plus(41)</stock>
        <stock quantità="8">Sneaker-Plus(42)</stock>
        <stock quantità="8">Sneaker-Plus(43)</stock>
        <stock quantità="2">Sneaker-Plus(44)</stock>
    </stocks>
    <data>300314</data>
</log>

<log>
    <luogo>Torino01</luogo>
    <azione>Scarico</azione>
    <operatore>STEFANO-STELLA-8934</operatore>
    <stocks>
        <stock quantità="2">Conserve-Classic-Green(39)</stock>
        <stock quantità="2">Conserve-Classic-Green(40)</stock>
        <stock quantità="2">Conserve-Classic-Green(41)</stock>
        <stock quantità="2">Conserve-Classic-Green(42)</stock>
        <stock quantità="2">Conserve-Classic-Green(43)</stock>
        <stock quantità="2">Sneaker-Country(40)</stock>
        <stock quantità="2">Sneaker-Country(41)</stock>
        <stock quantità="2">Sneaker-Country(42)</stock>
        <stock quantità="2">Sneaker-Country(43)</stock>
        <stock quantità="2">Sneaker-Country(44)</stock>
        <stock quantità="2">Sneaker-Country(45)</stock>
        <stock quantità="2">Sneaker-Country(46)</stock>
        <stock quantità="2">Sneaker-Plus(38)</stock>
        <stock quantità="2">Sneaker-Plus(39)</stock>
        <stock quantità="2">Sneaker-Plus(40)</stock>
        <stock quantità="2">Sneaker-Plus(41)</stock>
        <stock quantità="2">Sneaker-Plus(42)</stock>
        <stock quantità="2">Sneaker-Plus(43)</stock>
        <stock quantità="2">Sneaker-Plus(44)</stock>
    </stocks>
    <data>310314</data>
  </log>
</registro>