JavaScript의 크로스 브라우저 XML 구문 분석
웹 개발에서는 브라우저나 브라우저에 관계없이 JavaScript로 XML 파일을 구문 분석해야 하는 경우가 많습니다. 사용중인 플랫폼. 그러나 브라우저 간 호환성을 달성하는 것은 까다로울 수 있습니다.
해결책:
아래 제공된 코드는 IE 6을 포함한 모든 주요 브라우저에서 작동하는 솔루션을 제공합니다.
var parseXml; if (typeof window.DOMParser != "undefined") { parseXml = function(xmlStr) { return ( new window.DOMParser() ).parseFromString(xmlStr, "text/xml"); }; } else if (typeof window.ActiveXObject != "undefined" && new window.ActiveXObject("Microsoft.XMLDOM")) { parseXml = function(xmlStr) { var xmlDoc = new window.ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async = "false"; xmlDoc.loadXML(xmlStr); return xmlDoc; }; } else { throw new Error("No XML parser found"); }
사용 예:
솔루션을 사용하려면 아래와 같이 구문 분석할 XML 문자열과 함께parseXml 함수를 호출하면 됩니다.
var xml = parseXml("<foo>Stuff</foo>");
그런 다음 결과 xml 개체를 사용하여 XML 문서에 프로그래밍 방식으로 액세스할 수 있습니다. 예를 들어 다음 코드 조각은 루트 요소의 이름을 검색합니다.
alert(xml.documentElement.nodeName);
라이브 데모:
이 솔루션의 기능을 보여주기 위해 라이브 데모를 제공합니다. 아래에 제공됩니다.
var parseXml; if (typeof window.DOMParser != "undefined") { parseXml = function(xmlStr) { return ( new window.DOMParser() ).parseFromString(xmlStr, "text/xml"); }; } else if (typeof window.ActiveXObject != "undefined" && new window.ActiveXObject("Microsoft.XMLDOM")) { parseXml = function(xmlStr) { var xmlDoc = new window.ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async = "false"; xmlDoc.loadXML(xmlStr); return xmlDoc; }; } else { throw new Error("No XML parser found"); } var xml = parseXml("<foo>Stuff</foo>"); document.body.innerHTML = "Root element: " + xml.documentElement.nodeName;
이 코드 조각은 XML 문자열을 구문 분석하고 문서 본문에 루트 요소의 이름을 표시합니다.
위 내용은 JavaScript에서 XML 파일을 구문 분석할 때 브라우저 간 호환성을 달성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!