ホームページ >ウェブフロントエンド >jsチュートリアル >最新および従来のブラウザーと互換性のあるメソッドを使用して、JavaScript で動的 XML 文字列を解析するにはどうすればよいですか?

最新および従来のブラウザーと互換性のあるメソッドを使用して、JavaScript で動的 XML 文字列を解析するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-16 11:32:12963ブラウズ

How Can I Parse Dynamic XML Strings in JavaScript Using Modern and Legacy Browser Compatible Methods?

JavaScript での動的文字列の XML 解析

問題: XML データの操作では、多くの場合、動的ソースからデータを文字列として取得する必要があります。最新のブラウザと互換性のある JavaScript コードを使用して、この XML データを効果的に解析および操作するにはどうすればよいですか?

解決策:

DOMParser メソッド

ブラウザ用DOMParser インターフェイスをサポートする次の関数は、単純な XML 解析を提供します。メカニズム:

function parseXml(xmlStr) {
  return new window.DOMParser().parseFromString(xmlStr, "text/xml");
}

使用例:

var xml = parseXml('<foo>Stuff</foo>');
console.log(xml.documentElement.nodeName); // Outputs: "foo"

ActiveXObject (レガシー IE サポート用)

Internet Explorer のバージョンアップなど、DOMParser が利用できない場合から 8 までの場合、次のコード スニペットは、次のコード スニペットを使用してフォールバックを提供します。 ActiveXObject:

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");
}

jQuery の互換性

jQuery バージョン 1.5 以降には、同様の機能を提供する便利な $.parseXML() メソッドが含まれています:

var xml = $.parseXML('<foo>Stuff</foo>');
console.log(xml.documentElement.nodeName); // Outputs: "foo"

以上が最新および従来のブラウザーと互換性のあるメソッドを使用して、JavaScript で動的 XML 文字列を解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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