Javascript 使用';解析KML时处理资源时出错°';IE中的符号

Javascript 使用';解析KML时处理资源时出错°';IE中的符号,javascript,internet-explorer,geoxml3,Javascript,Internet Explorer,Geoxml3,我试图解析我的kml文件,其中包含带有度符号的数据,IE无法识别该符号。所以我需要用散列码替换度符号,或者转义这个字符。我已经验证了很多链接,但没有一个对我有用` geoXML3.fetchXML = function (url, callback) { function timeoutHandler() { geoXML3.log('XHR timeout'); callback(); }; var xhrFetcher = new Object(); if

我试图解析我的kml文件,其中包含带有度符号的数据,IE无法识别该符号。所以我需要用散列码替换度符号,或者转义这个字符。我已经验证了很多链接,但没有一个对我有用`

geoXML3.fetchXML = function (url, callback) {
  function timeoutHandler() {
    geoXML3.log('XHR timeout');
    callback();
  };

  var xhrFetcher = new Object();
  if (!!geoXML3.fetchers.length) {
    xhrFetcher = geoXML3.fetchers.pop();
  } else {
    if (!!window.XMLHttpRequest) {
      xhrFetcher.fetcher = new window.XMLHttpRequest(); // Most browsers
    } else if (!!window.ActiveXObject) {
      xhrFetcher.fetcher = new window.ActiveXObject('Microsoft.XMLHTTP'); // Some IE
    }
  }

  if (!xhrFetcher.fetcher) {
    geoXML3.log('Unable to create XHR object');
    callback(null);
  } else {
      xhrFetcher.fetcher.open('GET', url, true);
      if (xhrFetcher.fetcher.overrideMimeType) {
        xhrFetcher.fetcher.overrideMimeType('text/xml');
      }
      xhrFetcher.fetcher.onreadystatechange = function () {
      if (xhrFetcher.fetcher.readyState === 4) {
        // Retrieval complete
        if (!!xhrFetcher.xhrtimeout)
          clearTimeout(xhrFetcher.xhrtimeout);
        if (xhrFetcher.fetcher.status >= 400) {
          geoXML3.log('HTTP error ' + xhrFetcher.fetcher.status + ' retrieving ' + url);
          callback();
        } else {
          // Returned successfully
          var xml = geoXML3.xmlParse(xhrFetcher.fetcher.responseText);
          if (xml.parseError && (xml.parseError.errorCode != 0)) {
           geoXML3.log("XML parse error "+xml.parseError.errorCode+", "+xml.parseError.reason+"\nLine:"+xml.parseError.line+", Position:"+xml.parseError.linepos+", srcText:"+xml.parseError.srcText);
           xml = "failed parse"
          } else if (geoXML3.isParseError(xml)) {
           geoXML3.log("XML parse error");
           xml = "failed parse"
          }
          callback(xml);
        }
        // We're done with this fetcher object
        geoXML3.fetchers.push(xhrFetcher);
      }
    };
    xhrFetcher.xhrtimeout = setTimeout(timeoutHandler, geoXML3.xhrTimeout);
    xhrFetcher.fetcher.send(null);
  }
};
这是我用来解析kml文件的代码。在其他浏览器中可以正常工作,但在IE中不行。您的KML无效

<description><b>Chemical Name:</b> HYDROGEN SULFIDE<br><b>Wind:</b> 0.8 meters/second from 180.0° true at 3 meters<br></description>
化学名称:硫化氢
风:从180.0°到3米处的真实风速为0.8米/秒
这对我很有用:

<description><b>Chemical Name:</b> HYDROGEN SULFIDE<br /><b>Wind:</b> 0.8 meters/second from 180.0° true at 3 meters<br /></description>
化学名称:硫化氢
风速:从180.0°到3米处的0.8米/秒

KML是什么样子的?您的KML文件使用什么字符编码?我的KML文件使用utf-8字符编码,但是当geoxaml解析器解析它时,它总是在IE Only的情况下生成错误您的KML文件是什么样子的?当它是UTF-8编码时,它对我有效。很抱歉,我无法理解您的问题“KML文件看起来像什么?”先生,我感谢您的努力,但请您解释一下上面两行之间的区别。第一行是无效的XML。第二个问题是(一个

标签需要用一个

标签以XML或书写的

关闭)先生,如果kml是由一个非手动编码的软件自动生成的,您能建议我该怎么做吗,我也是这样,而且我手动将
转换为
,然后试图解析它,但仍然是相同的错误,IEIt控制台中的错误没有变化,它对我有效。请提供一份展示该问题的文件(或至少提供一份完整的KML文件)。