js 解析 XML 文字列と XML ドキュメントの実装原則とコード (IE と Firefox 用)_JavaScript スキル
IE と Firefox の XML ドキュメントと XML 文字列をそれぞれ解析しました。一部の関数を確認したい場合は、コメントを削除してください。
ajax 環境での XML の解析に関しては、原理は実際には同じですが、ajax に配置されている場合でも、返された XML を解析する必要がある点が異なります。
<🎜; >
xml ドキュメントと XML 文字列を解析する
XML ドキュメント/////////////////////////////////////////////// //// /////
var xmlDoc=null;
//IE ブラウザをサポート
if(window.ActiveXObject){
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}
//Mozilla ブラウザをサポートします
else if(document.implementation && document.implementation.createDocument){
xmlDoc = document.implementation.createDocument('','',null); 🎜> }
else{
alert("here");
}
if(xmlDoc!=null){
xmlDoc.async = false; house.xml");
}
//IE と Firefox ではパーサーが異なるだけでなく、解析プロセスも異なります。以下のように、
//つまり XML ドキュメントを解析します
//alert(xmlDoc.getElementsByTagName("address")[0].childNodes[0].childNodes[0].childNodes[0].nodeValue);/ / 150 万をポップアップします
//alert(xmlDoc.getElementsByTagName("address")[0].childNodes[0].childNodes[1].childNodes[0].nodeValue);// 1 つの寝室と 3 つの寝室をポップアップしますベッドルーム
// childNodes[1] をトラバースして解析します
//alert(xmlDoc.childNodes[1].childNodes[1].childNodes[0].childNodes[0].nodeValue);// ポップアップ 2 million
//alert(xmlDoc.childNodes[1].childNodes[0].childNodes[0].childNodes[0].nodeValue); //150 万件のポップアップが表示されます
//alert(xmlDoc.childNodes[ 1].childNodes[ 0].childNodes[1].childNodes[0].nodeValue);// 1 つの部屋と 3 つの寝室をポップアップします
// item(i) を使用してトラバースすることもできます
// var nodes=xmlDoc.documentElement.childNodes ;
//alert(nodes.item(0).childNodes.item(0).childNodes.item(0).text); //150 万件がポップアップします
/ /alert(nodes.item(0) .childNodes.item(1).childNodes.item(0).text); //1 つの部屋と 3 つの寝室をポップアップします
//Firefox は XML ドキュメントを解析します
// Firefox および IE は、さまざまなノードの XML を解析します。値には textContent を使用します。
//そして、いくつかの階層の子ノードの前後に「n」個の改行を追加します。 (理由はわかりません。firebug でデバッグするとこんな感じになるので、書いたコードをテストしてみるのが一番です。他の環境ではうまくいきません)
//つまり、最初のノードは "n" で、最初のノードは 2 つが実際の最初のノードです。
//3 番目のノードは "n"、4 番目のノードは実際の 2 番目のノードです。
//childNodes[0] をレイヤーごとに取得して解析します
//alert(xmlDoc.childNodes[0].childNodes[1].childNodes[1].textContent);//150 万をポップアップします
//alert(xmlDoc.childNodes[0].childNodes[1].childNodes[3].textContent);//3 ベッドルームのアパートメントをポップアップします
//ノード名の解決を直接取得します getElementsByTagName("address" )
//alert(xmlDoc.getElementsByTagName("address")[0].textContent);//1 ベッドルームの場合は 150 万、3 ベッドルームの場合は 200 万と 300 万のポップアップ
//alert(xmlDoc. getElementsByTagName("address")[0].childNodes [1].textContent);//1 つの部屋と 3 つの寝室で 150 万をポップアップ
//alert(xmlDoc.getElementsByTagName("address")[0].childNodes [1].childNodes[1].textContent);// 150 万件をポップアップします
//alert(xmlDoc.getElementsByTagName("address")[0].childNodes[1].childNodes[3].textContent); //1 つの部屋と 3 つの寝室をポップアップします
//alert(xmlDoc .getElementsByTagName("address")[0].childNodes[3].textContent);//200 万をポップアップします
//Firefox は次のこともできますitem(1) 関数を使用して、ノード "n" の前後にもいくつかの階層ノードが追加されることに注意してください。
//最初のノードは item(1)、2 番目のノードは item(3)、3 番目のノードは item(5)
//item(1) 関数走査分析
/ /var nodes=xmlDoc.documentElement.childNodes;
//alert(nodes.item(1).textContent); //150 万の 1 ベッドルーム、3 ベッドルームをポップアップします
//alert(nodes.item(1) ). childNodes.item(1).textContent); //150 万件のポップアップ
//alert(nodes.item(1).childNodes.item(3).textContent); //1 つのベッドルームと 3 つのベッドルーム
// XML 文字列を解析します /////////////////////////////////////////// /////// //////////////////////////
var str="
"650,000価格>
" pattern>A8"
"
"
//クロスブラウズ XML を解析するために IE と Firefox で使用されるパーサーは異なります。
var xmlStrDoc=null;
if (window.DOMParser){// Mozilla エクスプローラー
parser=new DOMParser();
xmlStrDoc=parser.parseFromString(str,"text/xml");
}else{// Internet Explorer
xmlStrDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlStrDoc.loadXML(str);
//つまり XML 文字列を解析します
//alert(xmlStrDoc.getElementsByTagName("car")[0].childNodes[0].childNodes[0].childNodes[0].nodeValue);//ポップアップ500,000
//alert(xmlStrDoc.getElementsByTagName("car")[0].childNodes[0].childNodes[1].childNodes[0].nodeValue);//A6 をポップアップ
//大丈夫ですitem(i) を走査する
//var strNodes=xmlStrDoc.documentElement.childNodes;
//alert(strNodes.item(0).childNodes.item(0).childNodes.item(0).text ) ; // 500,000 をポップアップします
//alert(strNodes.item(0).childNodes.item(1).childNodes.item(0).text) // ポップアップ A6
//Firefox は XML を解析しますString
//Firefox と IE は、textContent を使用して XML 内のさまざまなノードの値を解析します。
//そして、いくつかの階層の子ノードの前後に「n」個の改行を追加します。
//言い換えると、最初のノードは "n" であり、2 番目のノードが実際の最初のノードです。
//3 番目のノードは "n"、4 番目のノードは実際の 2 番目のノードです。
//alert(xmlStrDoc.childNodes[0].childNodes[1].textContent);//650,000 A8 をポップアップ
//alert(xmlStrDoc.childNodes[0].childNodes[1].childNodes[1] ].textContent);//A8
//alert(xmlStrDoc.childNodes[0].childNodes[1].childNodes[0].textContent);//ポップアップ 650,000
//Firefox も item を使用できます(1) 関数トラバーサル。一部の階層ノードの前後にノード「n」が追加されていることに注意してください。
//最初のノードは item(1)、2 番目のノードは item(3)、3 番目のノードは item(5) です。
//var names=xmlStrDoc.documentElement.childNodes;
/ /alert(nodes.item(1).textContent); //ポップアップ 650,000 A8
//alert(nodes.item(1).childNodes.item(0).textContent); // ポップアップ 650,000 A8
//alert(nodes.item(1).childNodes.item(1).textContent); //ポップアップ A8
は各ノード レベルは最も厄介な問題です。正しいものが得られる限り、何度でも試すことができます。
この点に関しては、json を読んで理解するのが良いと感じます。この解析は手間がかかりすぎます
<価格>150万価格> ;
都市>
<価格価格>
都市> ="南京">

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









HTTP ステータス コード 460 の役割とアプリケーション シナリオの詳細な分析 HTTP ステータス コードは Web 開発の非常に重要な部分であり、クライアントとサーバー間の通信ステータスを示すために使用されます。その中でも、HTTP ステータス コード 460 は比較的特殊なステータス コードであり、この記事ではその役割と適用シナリオを詳しく分析します。 HTTP ステータス コード 460 の定義 HTTP ステータス コード 460 の具体的な定義は「ClientClosedRequest」です。これは、クライアントがリクエストを閉じたことを意味します。このステータス コードは主に次のことを示すために使用されます。

iBatis と MyBatis: 違いと利点の分析 はじめに: Java 開発では永続性が一般的な要件であり、iBatis と MyBatis は広く使用されている 2 つの永続性フレームワークです。これらには多くの類似点がありますが、いくつかの重要な違いと利点もあります。この記事では、これら 2 つのフレームワークの機能、使用法、サンプル コードを詳細に分析することで、読者がより包括的に理解できるようにします。 1. iBatis の機能: iBatis は、SQL マッピング ファイルを使用する古い永続性フレームワークです。

Oracle エラー 3114 の詳細な説明: 迅速に解決する方法、具体的なコード例が必要です Oracle データベースの開発および管理中に、さまざまなエラーが頻繁に発生しますが、その中でもエラー 3114 は比較的一般的な問題です。エラー 3114 は通常、データベース接続に問題があることを示します。これは、ネットワーク障害、データベース サービスの停止、または不適切な接続文字列設定が原因である可能性があります。この記事では、エラー 3114 の原因とこの問題を迅速に解決する方法を詳しく説明し、特定のコードを添付します

【PHPにおけるミッドポイントの意味と使い方の分析】 PHPでは、ミッドポイント(.)は2つの文字列やオブジェクトのプロパティやメソッドを接続するためによく使われる演算子です。この記事では、PHP における中間点の意味と使用法を詳しく掘り下げ、具体的なコード例を示して説明します。 1. 文字列中間点演算子の接続 PHP での最も一般的な使用法は、2 つの文字列を接続することです。 2 つの文字列の間に . を置くと、それらをつなぎ合わせて新しい文字列を形成できます。 $string1=&qu

Wormhole は、ブロックチェーンの相互運用性のリーダーであり、所有権、制御、許可のないイノベーションを優先する、回復力があり、将来性のある分散システムの作成に重点を置いています。このビジョンの基盤は、技術的専門知識、倫理原則、コミュニティの連携への取り組みであり、シンプルさ、明確さ、そして幅広いマルチチェーン ソリューションで相互運用性の状況を再定義します。ゼロ知識証明、スケーリング ソリューション、機能豊富なトークン標準の台頭により、ブロックチェーンはより強力になり、相互運用性の重要性がますます高まっています。この革新的なアプリケーション環境では、新しいガバナンス システムと実用的な機能が、ネットワーク全体の資産に前例のない機会をもたらします。プロトコル構築者は現在、この新たなマルチチェーンでどのように運用するかに取り組んでいます。

Win11 の新機能の分析: Microsoft アカウントへのログインをスキップする方法 Windows 11 のリリースにより、多くのユーザーは、Windows 11 がより便利で新しい機能をもたらしたことに気づきました。ただし、ユーザーによっては、自分のシステムが Microsoft アカウントに関連付けられることを好まず、この手順をスキップしたい場合があります。この記事では、ユーザーが Windows 11 で Microsoft アカウントへのログインをスキップし、よりプライベートで自律的なエクスペリエンスを実現するのに役立ついくつかの方法を紹介します。まず、一部のユーザーが Microsoft アカウントにログインすることに抵抗がある理由を理解しましょう。一方で、一部のユーザーは次のことを心配しています。

C 言語の指数関数の詳細な分析と例 はじめに: 指数関数は一般的な数学関数であり、C 言語で使用できる対応する指数関数ライブラリ関数があります。この記事では、関数プロトタイプ、パラメーター、戻り値などを含む C 言語での指数関数の使用法を詳細に分析し、読者が指数関数をより深く理解し使用できるように、具体的なコード例を示します。テキスト: C 言語の指数関数ライブラリ関数 math.h には、指数関数に関連する関数が多数含まれており、その中で最もよく使用される関数は exp 関数です。 exp関数のプロトタイプは以下のとおりです

スペースの制限のため、以下は簡単な記事です。Apache2 は一般的に使用されている Web サーバー ソフトウェアであり、PHP は広く使用されているサーバー側スクリプト言語です。 Web サイトを構築する過程で、Apache2 が PHP ファイルを正しく解析できず、PHP コードの実行が失敗するという問題が発生することがあります。この問題は通常、Apache2 が PHP モジュールを正しく構成していないこと、または PHP モジュールが Apache2 のバージョンと互換性がないことが原因で発生します。この問題を解決するには通常 2 つの方法があります。1 つは次のとおりです。
