0

responseText から XML ドキュメントを作成する正しい方法を見つけようとしています。ここで「eval」をどのように使用するか。XML の eval は SyntaxError をスローします。

eval("<p>This is test</p>"); --> Will fail

sometimes responseText = "<DATA><static-route><route>0.0.0.0/0</route<nexthop>10.204.247.254</nexthop></static-route></DATA>"
or 
responseText = "testing"

parseData(resonseText)

/*create XML Document from the data response */
function parseData (dataSources) {
   try {
        var values = dataSources;

        if (window.ActiveXObject)
            IE = true;
        else if(document.implementation && document.implementation.createDocument)
            IE = false;

              if (IE)
              {
                var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
                xmlDoc.async = "false";
                xmlDoc.loadXML(values);
                //Do more things
              }
              else
              {   
                  **//values = eval('('+values+')');**  //Throws SyntaxError
                  var rpcParser = new DOMParser();
                  rpcDocument=rpcParser.parseFromString(values,"text/xml");
                  //Do more things
               }
        }   
        catch (e) {
            //Reaches here if use eval function.
        }

};

ありがとう、ヴィニー

4

1 に答える 1

0

Eval は有効な JavaScript のみを受け入れます。<p>This is test</p>無効な JS

于 2013-03-21T20:11:57.837 に答える