1

ローカル システムにある xml ファイルを読み込もうとしています。しかし、私は常に Network_err を受け取ります。私は次のことをします。

function LoadXmlDoc(dName)
{
    var xhttp;
    if(window.XMLHttpRequest)
    {
        xhttp = new XMLHttpRequest();
    }
    else
    {
        xhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    try
    {       
        xhttp.open("GET", "file.xml", false);
        xhttp.send();
    }
    catch(e)
    {       
        window.alert("Unable to load the requested file.");
        return;
    }
    return xhttp.responseXML;
}

システムにある xml ファイルをロードするにはどうすればよいですか。すべてのファイルは私のPCの同じフォルダーにあります。ありがとう

4

3 に答える 3

1

試す:

function XMLDoc()
{
if (window.XMLHttpRequest)
  {
    xmlhttp=new XMLHttpRequest();
  }
else
  {
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
    {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            alert(xmlhttp.responseText);
        }
    };
xmlhttp.open("GET","yourfile",true);
xmlhttp.send();
}

簡素化のため更新

XMLDoc()代わりにファイル uri を呼び出して渡しますyourfile

:サーバーでこのスクリプトを実行することを忘れないでください

于 2013-01-08T08:00:25.737 に答える
1

XHRセキュリティ上の理由によりご利用いただけません。

この投稿があなたにとって非常に完全な答えであることを確認してください。

次に、ローカル ファイル用の HTML5 API を確認します: http://www.html5rocks.com/en/tutorials/file/filesystem/

于 2013-01-08T08:08:44.007 に答える
1

このようなxmlファイルの適切なパスを指定する必要があるかもしれません

xhttp.open("GET", "file:///C:/file.xml", false);
        xhttp.send();

リョウのために働きます

完全なコードは次のようになります。続きを読む: Javascript で XML をロードする

    var xmlDoc;
    var xmlloaded = false;

    function initLibrary()
    {
        importXML("file:///C:/file.xml");
    }

    function importXML(xmlfile)
    {
        try
        {
            var xmlhttp = new XMLHttpRequest();
            xmlhttp.open("GET", xmlfile, false);
        }
        catch (Exception)
        {
            var ie = (typeof window.ActiveXObject != 'undefined');

            if (ie)
            {
                xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
                xmlDoc.async = false;
                while(xmlDoc.readyState != 4) {};
                xmlDoc.load(xmlfile);
                readXML();
                xmlloaded = true;
            }
            else
            {
                xmlDoc = document.implementation.createDocument("", "", null);
                xmlDoc.onload = readXML;
                xmlDoc.load(xmlfile);
                xmlloaded = true;
            }
        }

        if (!xmlloaded)
        {
            xmlhttp.setRequestHeader('Content-Type', 'text/xml')
            xmlhttp.send("");
            xmlDoc = xmlhttp.responseXML;
            readXML();
            xmlloaded = true;
        }
    }
于 2013-01-08T08:03:34.033 に答える