ホームページ > ウェブフロントエンド > jsチュートリアル > DOM パーサーを使用して JavaScript で XML データを解析するにはどうすればよいですか?

DOM パーサーを使用して JavaScript で XML データを解析するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-05 11:59:15
オリジナル
677 人が閲覧しました

How to Parse XML Data in JavaScript Using the DOM Parser?

JavaScript を使用した XML の解析

JavaScript を使用した XML の解析では、XML データをより管理しやすい形式に変換して処理します。外部フレームワークを使用せずに XML を解析するには、最新のブラウザで利用できるドキュメント オブジェクト モデル (DOM) を利用できます。

文字列変数に格納されている次の XML を考えてみましょう:

<address>
  <street>Roble Ave</street>
  <streetNumber>649</streetNumber>
  <lat>37.45127</lat>
  <lng>-122.18032</lng>
  <distance>0.04</distance>
  <postalcode>94025</postalcode>
  <placename>Menlo Park</placename>
  <adminCode2>081</adminCode2>
  <adminName2>San Mateo</adminName2>
  <adminCode1>CA</adminCode1>
  <adminName1>California</adminName1>
  <countryCode>US</countryCode>
</address>
ログイン後にコピー

解析するにはDOM を使用してこの XML を作成するには、次の手順に従います。

if (window.DOMParser) {
  parser = new DOMParser();
  xmlDoc = parser.parseFromString(txt, "text/xml");
} else { // Internet Explorer
  xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async = false;
  xmlDoc.loadXML(txt);
}
ログイン後にコピー

XML が解析されたら、特定のデータを取得できます。ノードからの値:

// Gets house address number
console.log(xmlDoc.getElementsByTagName("streetNumber")[0].childNodes[0].nodeValue);

// Gets Street name
console.log(xmlDoc.getElementsByTagName("street")[0].childNodes[0].nodeValue);

// Gets Postal Code
console.log(xmlDoc.getElementsByTagName("postalcode")[0].childNodes[0].nodeValue);
ログイン後にコピー

さらに、XML に名前空間プレフィックスが含まれている場合、名前空間を要求するときにプレフィックスを含めないでください:

// XML with Namespace prefixes
txt = `
Roble Ave 649 94025
`; // Parse with Namespace prefixes if (window.DOMParser) { parser = new DOMParser(); xmlDoc = parser.parseFromString(txt, "text/xml"); } else { // Internet Explorer xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async = false; xmlDoc.loadXML(txt); } // Gets "streetNumber" (note there is no prefix of "sn") console.log(xmlDoc.getElementsByTagName("streetNumber")[0].childNodes[0].nodeValue); // Gets Street name console.log(xmlDoc.getElementsByTagName("street")[0].childNodes[0].nodeValue); // Gets Postal Code console.log(xmlDoc.getElementsByTagName("postalcode")[0].childNodes[0].nodeValue);
ログイン後にコピー

以上がDOM パーサーを使用して JavaScript で XML データを解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート