従来の HTML ページでドロップダウン ボックスをリンクするには 2 つの方法が使用されます:
1) ドロップダウン ボックスのコンテンツを HTML の JavaScript に直接ハードコーディングし、JavaScript 関数を呼び出してそれをドロップダウン ボックスに書き込みます。ループ。この方法は、ドロップダウン ボックスの内容が頻繁に変更される状況には適していません。データソースとJavaScriptプログラムが同じページに記述されているためです。
<html> <head> <title>List</title> <meta http-equiv="Content-Type" content="text/html; c harset=gb2312"> <script LANGUAGE="javascript"> <!-- var onecount; onecount=0; subcat = new Array(); subcat[0] = new Array("徐汇区","01","001"); subcat[1] = new Array("嘉定区","01","002"); subcat[2] = new Array("黄浦区","01","003"); subcat[3] = new Array("南昌市","02","004"); subcat[4] = new Array("九江市","02","005"); subcat[5] = new Array("上饶市","02","006"); onecount=6; function changelocation(locationid) { document.myform.smalllocation.length = 0; var locationid=locationid; var i; document.myform.smalllocation.options[0] = new Option('====所有地区====',''); for (i=0;i <onecount; i++) { if (subcat[i][1] == locationid) { document.myform.smalllocation.options[document.myform.smalllocation.length] = new Option(subcat[i][0], subcat[i][2]); } } } //--> </script> </head> <body> <form name="myform" method="post"> <select name="biglocation" onChange="changelocation(document.myform.biglocation.options[document.myform.biglocation.selectedIndex].value)"> <option value="01" selected>上海</option> <option value="02">江西</option> </select> <select name="smalllocation"> <option selected value="">==所有地区==</option> </select> </form> <script LANGUAGE="javascript"> <!-- changelocation(document.myform.biglocation.options[document.myform.biglocation.selectedIndex].value); //--> </script> </body> </html>
2) JavaScript はデータベースを直接読み取り、データベース内のレコードを取得して JavaScript に書き込み、その後、最初のメソッドと同様に、JavaScript 関数を呼び出してループでドロップダウン ボックスに書き込みます。この方法ではデータ ソースを JavaScript から分離しますが、データベース接続を公開してもセキュリティの観点からはほとんど実用的価値がありません。
私の方法は、XML ファイルのドロップダウン ボックスにデータを配置し、JavaScript を使用して XML ファイルを読み取り、ドロップダウン ボックスのコンテンツを取得することです。
HTML ファイルは次のとおりです:
<!-- myfile.html --> <html> <head> <script language="JavaScript" for="window" event="onload"> var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); var i=0; var j=0; var subclass_name=""; loadXML(); function loadXML(){ xmlDoc.async="false"; xmlDoc.load("account.xml"); xmlObj=xmlDoc.documentElement; nodes = xmlDoc.documentElement.childNodes; document.frm.mainclass.options.length = 0; document.frm.subclass.options.length = 0; for (i=0;i<xmlObj.childNodes.length;i++){ labels=xmlObj.childNodes(i).getAttribute("display_name"); values=xmlObj.childNodes(i).text; document.frm.mainclass.add(document.createElement("OPTION")); document.frm.mainclass.options[i].text=labels; document.frm.mainclass.options[i].value=values; } } </script> <script language="JavaScript" > var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); var i=0; var j=0; function deleteOption() { } function setsubclass(main){ var is_selected="N"; if (document.frm.subclass.options.length!=0) { for (i=0;i<=document.frm.subclass.options.length;i++) document.frm.subclass.options[i]=null ; } //重复才有效 if (document.frm.subclass.options.length!=0) { for (i=0;i<=document.frm.subclass.options.length;i++){ document.frm.subclass.options[i]=null ; document.frm.subclass.options.remove(i); } } for (i=0;i<xmlObj.childNodes.length;i++){ var values=""; var lables=""; if (is_selected=="Y") return; labels=xmlObj.childNodes(i).getAttribute("display_name"); values=xmlObj.childNodes(i).text; //alert(labels+ " | "+main); if (labels==main){ is_selected="Y"; for (j=0;j<xmlObj.childNodes(i).childNodes.length;j++){ //subclass_name="document.frm.subclass"; labels=xmlObj.childNodes(i).childNodes(j).getAttribute("display_name"); values=xmlObj.childNodes(i).childNodes(j).text; //alert(values); document.frm.subclass.add(document.createElement("OPTION")); document.frm.subclass.options[j].text=labels; document.frm.subclass.options[j].value=values; } } } } </script> <title>在HTML中调用XML数据</title> </head> <body bgcolor="#FFFFFF"> <FORM NAME="frm"> 类型<SELECT NAME="mainclass" OnChange='setsubclass(this[selectedIndex].text)'></SELECT> <option selected value="" ></option> 子类<SELECT NAME="subclass"></SELECT> </form> </body> </html> account.xml 如下: <?xml version="1.0" encoding="GB2312"?> <item> <class display_name="未选定"> <subclass display_name="">Not Available</subclass> </class> <class display_name="95788主叫卡"> <subclass display_name="1152069589-1152069638">dangdang1</subclass> <subclass display_name="1152081031-1152081080">dangdang2</subclass> <subclass display_name="1152547201-1105254750">dangdang3</subclass> <subclass display_name="1152548401-1152548700">dangdang4</subclass> <subclass display_name="1152548701-1152549000">dangdang5</subclass> <subclass display_name="1156000001-1156010000">dangdang6</subclass> </class> <class display_name="网上注册"> <subclass display_name="1152000001-1152001000">zhuce_user1</subclass> <subclass display_name="1151001000-1151005000">zhuce_user2</subclass> </class> <class display_name="通讯"> <subclass display_name="1156030001-1156080000">tongxun</subclass> </class> </item>
このメソッドはデータ ソースを JavaScript プログラムから分離し、頻繁に変更されるデータ ソースに適しています。 xmlDoc.load では、URL パラメーターを直接呼び出してリモート XML を読み取り、疎結合を実現できます。上記のアプリケーションは IE6.0 で動作します。欠点は、ドロップダウン ボックス リストの内容を削除するときに、削除操作を繰り返し実行する必要があることです。そうしないと、明らかなバグが発生する可能性があるため、読者の皆様に修正していただければ幸いです。

RSSにより、マルチメディアコンテンツの埋め込み、条件付きサブスクリプション、パフォーマンスとセキュリティの最適化が可能になります。 1)タグを介してオーディオやビデオなどのマルチメディアコンテンツを埋め込みました。 2)XMLネームスペースを使用して条件付きサブスクリプションを実装し、サブスクライバーが特定の条件に基づいてコンテンツをフィルタリングできるようにします。 3)CDATAセクションとXMLSchemaを介してRSSFeedのパフォーマンスとセキュリティを最適化して、標準の安定性とコンプライアンスを確保します。

RSSは、頻繁に更新されるデータを公開するために使用されるXMLベースの形式です。 Web開発者として、RSSを理解することで、コンテンツの集約と自動化の更新機能を改善できます。 RSS構造、解析、および生成方法を学習することにより、RSSFeedsを自信を持って処理し、Web開発スキルを最適化できるようになります。

RSSは、JSONの代わりにXMLを選択しました。1)XMLの構造と検証機能は、RSS複雑なデータ構造のニーズに適したJSONよりも優れています。 2)その時点でXMLは広くサポートされていました。 3)RSSの初期バージョンはXMLに基づいており、標準になっています。

RSSは、頻繁に更新されるコンテンツを購読および読み取りに使用するXMLベースの形式です。その実用的な原則には、生成と消費の2つの部分が含まれ、RSSリーダーを使用することで情報を効率的に取得できます。

RSSドキュメントのコア構造には、XMLタグと属性が含まれます。特定の解析と生成の手順は次のとおりです。1。XMLファイル、プロセス、タグを読み取ります。 2。抽出、、、、などのタグ情報。 3。バージョンの互換性を確保するために、カスタムタグと属性を処理します。 4.キャッシュと非同期処理を使用して、パフォーマンスを最適化してコードの読みやすさを確保します。

JSON、XML、およびRSSの主な違いは構造と使用です。1。JSONは、簡潔な構造と解析が簡単な単純なデータ交換に適しています。 2。XMLは、複雑なデータ構造に適しており、厳密な構造ですが複雑な解析があります。 3。RSSはXMLに基づいており、コンテンツのリリースに使用され、標準化されていますが使用が制限されています。

XML/RSSフィードの処理には、解析と最適化が含まれ、一般的な問題にはフォーマットエラー、エンコードの問題、および欠落要素が含まれます。ソリューションには以下が含まれます。1。XML検証ツールを使用して、フォーマットエラーを確認します。 2。エンコーディングの一貫性を確保し、シャルドライブラリを使用してエンコードを検出します。 3.デフォルト値を使用するか、要素が欠落しているときに要素をスキップします。 4. LXMLやキャッシュの解析結果などの効率的なパーサーを使用して、パフォーマンスを最適化します。 5. XML注入攻撃を防ぐために、データの一貫性とセキュリティに注意してください。

RSSドキュメントを解析する手順には、次のものがあります。1。XMLファイルを読み取り、2。DOMまたはSAXを使用してXML、3。Extract見出し、リンク、その他の情報、および4。プロセスデータ。 RSSドキュメントは、RSSリーダーまたはデータ処理ツールの構築に適した、更新されたコンテンツ、構造、および要素を公開するために使用されるXMLベースの形式です。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

Dreamweaver Mac版
ビジュアル Web 開発ツール

WebStorm Mac版
便利なJavaScript開発ツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。
