ASP+XMLインスタンスのプログラミングコード第1/3ページ
実例はASP+XMLのプログラミングの本文を練習します。実例を説明する文章です。普通のプログラマとして、優秀なルーチンはプログラミングを勉強している人にとってどれほど役に立ちますか?本論文で使用するルーチンは、情報管理プログラムに連絡して、自分と友達が互いに連絡し合うために書いています。しかしスズメは小さいが、五臓がそろっていて、ASP+XMLのプログラミングを勉強している友達に対して、一定の参考価値があると信じています。 読者はこの実例を通してASP(Active)で理解できます。 Server Page)でどのようにXMLファイルを操作し、XMLノードの作成、修正、削除、保存などのデータの各種処理を行いますか?本文で関連する技術はASP、VBScript、DOM、XMLとXSLなどを含みます。 本論文では使用した技術について深い理論紹介を行っていないので、読者はある程度の関連知識を必要とします。特にASP、XML、DOMに対して一定の理解が必要です。本文を読んで、ソースコードを参考にして、読者はきっとXMLプログラミングを上手に把握できると信じています。 一、手順説明 ルーチンはB/S構造に基づいて、XMLファイルを使って連絡情報を保存して、VB Scriptで書いたクラスを通して、DOMを使って、XMLファイル中の連絡情報を各種操作します。 ルーチンで提供されるコードは、統一したネーミング仕様を採用しています。主に3文字の略語で変数の種類を説明します。数字の種類――int、文字列のタイプ――str、対象――objなど、ASP/VBScriptではデータの種類を区別しませんが、明らかなデータの種類で説明しても、プログラムの作成とメンテナンスには意味があります。意味のある変数名を使用して、XMLDocumentオブジェクトのように、ObjXml Dockと定義するなど、同様に、より良い作成と維持のためのプログラムです。 このプログラムはバックグラウンドデータ処理とフロントインターフェース表現の二つの部分に分けられます。 プログラムのバックグラウンドはVBS Scriptを使ってクラスを作成しました。これはVB Script 5.0版に提供された新しい特性です。ここではクラスの概念は本当に対象に向けて遠いですが、ASPでは合理的にクラスを使っています。ある程度プログラムの運行効率とメンテナンス性を高めることができます。 フロントパフォーマンスは、XSLを使用してXMLファイルのデータをフォーマットし、HTML形式でクライアントに出力し、XML技術の柔軟性とカスタマイズ性を十分に表しています。フォーマットのプロセスはサーバー端に置いて、ASPプログラムを使って完成しました。このように、クライアントはフォーマットされた後のHTML情報を得て、互換性の問題が発生することを避けました。 もちろん、プログラムは、特定の操作の詳細については、非常に厳密な検査は行われていませんが、ASPではDOMを使用してXMLの関連部分を操作するために、プログラムは完全な例示コードを提供しています。 二、XMLファイル説明(persons.xml) このルーチンで使用されるXMLファイルの構造は非常に簡単であり、関連するSchemaまたはDMDは定義されていない。もちろん、読者が自分で定義したいなら、プログラムの運行に影響を与えません。 プログラムのデータ構造は以下のように定義されています。Personsの集合は複数のPersonオブジェクトを含み、各Personオブジェクトは名前Name、英語名Nick、携帯電話Mobile、電話Tel、電子メールEmail、騰訊QQと所在会社Companyの属性を含みます。以上の定義をXMLファイルに対応する、すなわちPersonsはルートノードであり、PersonはPersonsのサブノードであり、Name、Nick、Mobile、Tel、Email、QQ、CompanyはPersonのサブノードである。 このように、私達が得たXMLファイルの内容は以下の通りです。 <xml version=「1.0」 encoding=「gb 2312」? <Persons> <Person> <Name>小東</Name> <Nick>gwd</Nick> <Mobile>139 XXXXX</Mobile> <Tel>XXXX</Tel> <メール>[email protected]</メール> <QQ>7066015<QQ> <Company>XXX<Company> <Person> </Person> 読者の注意が必要です。xml version=「1.0」 encoding=「gb 2312」?この行はXMLはデフォルトでは中国語に対応していません。encoding属性を設定することによって、XMLは正確に中国語を表示することができます。読者はIE 5.0および以上のバージョンのブラウザでこのファイルにアクセスできます。 ツリー構造はデータを表示します。 转自:ダイナミックネットワーク制作ガイドwwww.knowsky.com 转自:ダイナミックネットワーク制作ガイドwwww.knowsky.com 三、フォーマット変換XSLファイル説明(Persons.xsl) ルーチンではXSLを使用してXMlデータをフォーマットし、HTML形式でクライアントに戻ります。このプロセスはクライアントにおいても良いが、互換性の問題を考慮して、サーバ端でASPによってDOMを操作するフォーマットを採用している。 XSLファイルの内容は以下の通りです。 <?xml version=「1.0」 encoding=「gb 2312」? <xsl:styless heet xmlns:xsl="http://www.w3.org/1999/XSL/Transform「 version=「1.0」> <xsl:template match=「/Persons」> <スクリプト laguage=「javascript」> 機能 add() { window.open(「add.asp」、 "add" "width=300、height=320、resize=no"; ) 機能 edit(intId) { window.open(「edit.asp?id=」+intId、 "edit" "width=300、height=320、resize=no"; ) </スクリプト> <テーブル width="600" border="0" align=「センター」> <tr> <td align=「right」><a href=「javascript:add()」。 title=「新しい連絡先を追加」>新しい連絡先<a></td>を追加します。 </tr> </テーブル> <テーブル align=「センター」 width=「680」 cell pacing="1" cell padding="2" border="0" bg色=「_」 <tr クラス=「title」 bg[/ color][/url]「荋E 5 E 5 E 5 E 5」 <td width=「25」><xsl:text disable-output-escaping="yes"nsp;td> <td>名前<td> <td>英語名<td> <td>携帯<td> <td>電話<td> <td>Email</td> <td>QQ<td> <td>会社<td> </tr> <xsl:for-each select=「Person」> <TR BGCOLOR=「钻FFFF」> <TD ALIGN=「right」<xsl:value-of select=「position()」/><TD> <TD STYLE=「[/color]<A]<xsl:atribute」 name=「HREF」>javascript:edit('<xsl:value-of select=「position()」/>;「xsl:atribute><xsl:atribute name=「title」>修正情報</xsl:atribute><xsl:value-of select=「Name」/><A><TD> <TD><xsl:value-of select=「Nick」/><TD> <TD><xsl:value-of select=「Mobile」/><TD> <TD><xsl:value-of select=「Tel」/><TD> <TD><A><xsl:atribute name=「HREF」>malto:<xsl:value-of select=「Email」/<xsl:value-of select=「Email」/><A><TD> <TD><xsl:value-of select=「QQ」/><TD> <TD><xsl:value-of select=「Company」/><TD> </TR> </xsl:for-each> </テーブル> </xsl:template> </xsl:styless heet> サーバー側での変換は関数を使って行われ、フォーマットに成功しました。HTML文字列に戻り、フォーマットに失敗しました。 '******************************************* ' 説明:XSLファイルを使ってXMLファイルをフォーマットします。 ' 作者:gwd 2002-11-05 ' パラメータ:streml File -- Xmlファイル、パス+ファイル名 ' ストリップファイア -- Xslファイル、パス+ファイル名 ' リターン:成功 -- フォーマットされたHTML文字列 ' 失敗 -- カスタムエラー情報 '******************************************* Function FormatXml(strXml File) strexsfile) ディム objXml、 ObjXsl strXml File = Server.MapPath(strXml File) ストリップファイア = Server.MapPath(strexslafile) セット ObjXml = Server.reat Object(「MSXML 2.DOMDocument」) セット ObjXsl = Server.reat Object(「MSXML 2.DOMDocument」) ObjXML.Async = False If ObjXml.Load(strXml File) The n ObjXsl.Async = False ObjXsl.ValidateonParse = False If ObjXsl.Load The n On エロエロ Resume 次のテキスト ' トラッキング方式のエラー FormatXml = objXml.transformNode(objXsl) If objXsl.parseError.errorCode <> 0 The n Resonse.Write "<br/>
「 Resonse.Write "エロエロ コード: " & objXsl.parseError.errorCode Resonse.Write "<br>Error Reason: " & objXsl.parseError.reason Resonse.Write "<br>Error Line: " & objXsl.parse Error.line FormatXml = "<span class=“”alert">XMLファイルのフォーマットが間違っています。“ End If。 Else Resonse.Write "<br/>
「 Resonse.Write "エロエロ コード: " & objXsl.parseError.errorCode Resonse.Write "<br>Error Reason: " & objXsl.parseError.reason Resonse.Write "<br>Error Line: " & objXsl.parse Error.line FormatXml = "<span class="alert">XSLファイルの読み込みエラー!“ End If。 Else Resonse.Write "<br/>
「 Resonse.Write "エロエロ コード: " & objXml.parseError.errorCode Resonse.Write "<br>Error Reason: " & objXml.parseError.reason Resonse.Write "<br>Error Line: " & objXml.parse Errror.line FormatXml = "<span class=""alert">XMLファイルの読み込みエラー!“ End If。 セット ObjXsl = Nothing セット ObjXml = Nothing End Function
1 2 3 次のページ 全文を読む
「 Resonse.Write "エロエロ コード: " & objXsl.parseError.errorCode Resonse.Write "<br>Error Reason: " & objXsl.parseError.reason Resonse.Write "<br>Error Line: " & objXsl.parse Error.line FormatXml = "<span class=“”alert">XMLファイルのフォーマットが間違っています。“ End If。 Else Resonse.Write "<br/>
「 Resonse.Write "エロエロ コード: " & objXsl.parseError.errorCode Resonse.Write "<br>Error Reason: " & objXsl.parseError.reason Resonse.Write "<br>Error Line: " & objXsl.parse Error.line FormatXml = "<span class="alert">XSLファイルの読み込みエラー!“ End If。 Else Resonse.Write "<br/>
「 Resonse.Write "エロエロ コード: " & objXml.parseError.errorCode Resonse.Write "<br>Error Reason: " & objXml.parseError.reason Resonse.Write "<br>Error Line: " & objXml.parse Errror.line FormatXml = "<span class=""alert">XMLファイルの読み込みエラー!“ End If。 セット ObjXsl = Nothing セット ObjXml = Nothing End Function
1 2 3 次のページ 全文を読む