ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript で XML ファイルを解析するときにブラウザ間の互換性を実現するにはどうすればよいですか?

JavaScript で XML ファイルを解析するときにブラウザ間の互換性を実現するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-14 10:47:02901ブラウズ

How to achieve cross-browser compatibility when parsing XML files in JavaScript?

JavaScript でのクロスブラウザ XML 解析

Web 開発では、ブラウザやブラウザに関係なく、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" &amp;&amp;
       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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。