xml.parse.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. export default {
  2. parseXml:function(xmlString){
  3. var xmlDoc=null;
  4. //判断浏览器的类型
  5. //支持IE浏览器
  6. if(!window.DOMParser && window.ActiveXObject){ //window.DOMParser 判断是否是非ie浏览器
  7. var xmlDomVersions = ['MSXML.2.DOMDocument.6.0','MSXML.2.DOMDocument.3.0','Microsoft.XMLDOM'];
  8. for(var i=0;i<xmlDomVersions.length;i++){
  9. try{
  10. xmlDoc = new ActiveXObject(xmlDomVersions[i]);
  11. xmlDoc.async = false;
  12. xmlDoc.loadXML(xmlString); //loadXML方法载入xml字符串
  13. break;
  14. }catch(e){
  15. }
  16. }
  17. }
  18. //支持Mozilla浏览器
  19. else if(window.DOMParser && document.implementation && document.implementation.createDocument){
  20. try{
  21. /* DOMParser 对象解析 XML 文本并返回一个 XML Document 对象。
  22. * 要使用 DOMParser,使用不带参数的构造函数来实例化它,然后调用其 parseFromString() 方法
  23. * parseFromString(text, contentType) 参数text:要解析的 XML 标记 参数contentType文本的内容类型
  24. * 可能是 "text/xml" 、"application/xml" 或 "application/xhtml+xml" 中的一个。注意,不支持 "text/html"。
  25. */
  26. var domParser = new DOMParser();
  27. xmlDoc = domParser.parseFromString(xmlString, 'text/xml');
  28. }catch(e){
  29. }
  30. }
  31. else{
  32. return null;
  33. }
  34. return xmlDoc;
  35. }
  36. }