検索
ホームページバックエンド開発Python チュートリアルPython基本チュートリアルプロジェクト3つのユニバーサルXML

この記事では主に Python の基本チュートリアル プロジェクトの 3 つのユニバーサル XML を詳しく紹介します。興味のある方は参考にしてください。このプロジェクトの名前はユニバーサル XML ではなく、自動と呼ばれたほうがよいでしょう。 Web サイトは、XML ファイルに基づいて、対応するディレクトリ構造を備えた Web サイトを生成します。ただし、CSS も生成できれば、より強力になります。これは今後開発する必要があります。まず HTML ウェブサイトの構造を勉強しましょう。 Web サイトは XML 構造を通じて生成されるため、すべてがこの XML ファイルから取得される必要があります。まず、この XML ファイル、Web サイトを見てみましょう。


まず、この XML ファイルを解析する必要があります。Python は Java と同じように XML を解析します。2 つの処理方法の違いは、速度と処理範囲のみです。後者は、最初にすべてのドキュメントをメモリにロードしてから処理する方法ですが、処理が遅くなり、より多くのメモリを消費します。利点は、文書全体を操作できることです。

sax を使用して Python で XML を処理するには、まず xml.sax に parse 関数を導入し、xml.sax.handler に ContentHandler を導入する必要があります。後者のクラスは parse 関数と組み合わせて使用​​する必要があります。使用方法は次のとおりです: parse('xxx.xml',xxxHandler)、ここの xxxHandler は上記の ContentHandler を継承する必要がありますが、継承するだけで何もする必要はありません。 次に、parse 関数が XML ファイルを処理するときに、xxxHandler の startElement 関数と endElement 関数を呼び出して、xml 内のタグを開始および終了します。中間のプロセスでは、characters という名前の関数を使用して、タグ内のすべての文字列を処理します。

上記の理解により、xml ファイルを処理する方法がすでにわかりました。次に、悪の根源である website.xml ファイルを見て、その構造を分析します。ページとディレクトリの 2 つのノードしかないことは明らかです。そのページはページを表し、ディレクトリはディレクトリを表します。

それで、この XML ファイルを処理するアイデアが明確になります。 XML ファイルの各ノードを読み取り、それがページであるかディレクトリであるかを判断し、ページである場合は HTML ページを作成し、ノードの内容をファイルに書き込みます。ディレクトリが見つかった場合は、フォルダーを作成し、その中にあるページ ノード (存在する場合) を処理します。
コードのこの部分を見てみましょう。この本の実装はより複雑で柔軟です。まずはそれを見てから分析しましょう。


<website>
 <page name="index" title="Home page">
 <h1 id="Welcome-nbsp-to-nbsp-my-nbsp-Home-nbsp-page">Welcome to my Home page</h1>
 <p>Hi, there. My name is Mr.gumby,and this is my home page,here are some of my int:</p>
 <ul>
  <li><a href="interests/shouting.html" rel="external nofollow" >Shouting</a></li>
  <li><a href="interests/sleeping.html" rel="external nofollow" >Sleeping</a></li>
  <li><a href="interests/eating.html" rel="external nofollow" >Eating</a></li>
 </ul>
 </page>
 <directory name="interests">
  <page name="shouting" title="Shouting">
   <h1 id="shouting-nbsp-page">shouting page</h1>
   <p>....</p>
  </page>
  <page name="sleeping" title="Sleeping">
   <h1 id="sleeping-nbsp-page">sleeping page</h1>
   <p>...</p>
  </page>
  <page name="eating" title="Eating">
    <h1 id="Eating-nbsp-page">Eating page</h1>
    <p>....</p>
  </page>
 </directory>
</website>


このプログラムの分析はもう少し複雑なようですが、偉人猫猫は、どんな複雑なプログラムも張子の虎だと言っていました。それでは、このプログラムをもう一度分析してみましょう。



まず、このプログラムには 2 つのクラスがあることがわかりましたが、実際には継承により 1 つのクラスとみなすことができます。

次に、分析した startElement、endElement、文字に加えて、startPage、endPage、writeHeader、writeFooter; などの追加の関数があることを見てみましょう。 。ディスパッチを除いて、前述の関数はそれぞれ、対応する HTML タグと XML ノードを処理するだけで簡単に理解できます。ディスパッチの複雑さは、関数を動的に組み合わせて実行するために使用されることです。

dispatchの処理の考え方は、まず渡されたパラメータ(つまりオペレーション名とノード名)を元にstartPageなどの対応する関数があるかどうかを判断し、存在しない場合はデフォルトの+を実行します。操作名:defaultStart など。

各機能を一つ一つ理解すると、全体の処理の流れが分かります。まず、Web サイト全体を保存する public_html ファイルを作成し、次に XML ノードを読み取り、startElement と endElement を通じてディスパッチを呼び出して処理します。次に、dispatch が特定の処理関数を呼び出す方法について説明します。 この時点で、このプロジェクトの分析は完了しました。

マスターすべき主な内容は、Python で XML を処理するための SAX の使用であり、もう 1 つは、パラメーターを渡す際の getattr やアスタリスクなどの Python の関数の使用です...

関連する推奨事項:


Python基本チュートリアルプロジェクト 2つ目は上手な絵です

Python基本チュートリアルプロジェクト 4つ目はニュース集約です


以上がPython基本チュートリアルプロジェクト3つのユニバーサルXMLの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

PythonはゲームとGUI開発に優れています。 1)ゲーム開発は、2Dゲームの作成に適した図面、オーディオ、その他の機能を提供し、Pygameを使用します。 2)GUI開発は、TKINTERまたはPYQTを選択できます。 TKINTERはシンプルで使いやすく、PYQTは豊富な機能を備えており、専門能力開発に適しています。

Python vs. C:比較されたアプリケーションとユースケースPython vs. C:比較されたアプリケーションとユースケースApr 12, 2025 am 12:01 AM

Pythonは、データサイエンス、Web開発、自動化タスクに適していますが、Cはシステムプログラミング、ゲーム開発、組み込みシステムに適しています。 Pythonは、そのシンプルさと強力なエコシステムで知られていますが、Cは高性能および基礎となる制御機能で知られています。

2時間のPython計画:現実的なアプローチ2時間のPython計画:現実的なアプローチApr 11, 2025 am 12:04 AM

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Python:主要なアプリケーションの調査Python:主要なアプリケーションの調査Apr 10, 2025 am 09:41 AM

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間でどのくらいのPythonを学ぶことができますか?2時間でどのくらいのPythonを学ぶことができますか?Apr 09, 2025 pm 04:33 PM

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は?プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は?Apr 02, 2025 am 07:18 AM

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか?中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか?Apr 02, 2025 am 07:15 AM

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

Python 3.6にピクルスファイルをロードするときに「__Builtin__」モジュールが見つからない場合はどうすればよいですか?Python 3.6にピクルスファイルをロードするときに「__Builtin__」モジュールが見つからない場合はどうすればよいですか?Apr 02, 2025 am 07:12 AM

Python 3.6のピクルスファイルのロードレポートエラー:modulenotFounderror:nomodulenamed ...

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

MantisBT

MantisBT

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

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 Mac版

SublimeText3 Mac版

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