Read XML file using JavaScript in Chrome

前端 未结 4 1221
栀梦
栀梦 2021-01-02 18:03

I need to load and read an XML file using JavaScript.

The following code works fine in Firefox, IE and Opera:

         


        
4条回答
  •  独厮守ぢ
    2021-01-02 18:21

    Legacy Code

    document.implementation.createDocument does not work on Chrome and Safari.

    Use XMLHttpRequest instead when possible:

    function loadXMLSync(url) {
      try {
        // Prefer XMLHttpRequest when available
        var xhr = new XMLHttpRequest()
        xhr.open('GET', url, false)
        xhr.setRequestHeader('Content-Type', 'text/xml')
        xhr.send()
    
        return xmlhttp.responseXML
      }
      catch (e) {
        // XMLHttpRequest not available, fallback on ActiveXObject
        try {
          var activex = new ActiveXObject('Microsoft.XMLDOM')
          activex.async = false
          activex.load(url)
    
          return activex
        }
        catch (e) {
          // Neither XMLHttpRequest or ActiveXObject are available
          return undefined
        }
      }
    }
    

    Modern Browsers

    If you're targeting modern browsers (> IE6), just use XMLHttpRequest:

    function loadXMLSync(url) {
      var xhr = new XMLHttpRequest()
    
      xhr.open('GET', url, false)
      xhr.setRequestHeader('Content-Type', 'text/xml')
      xhr.send()
    
      return xhr.responseXML
    }
    

提交回复
热议问题