国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

<bdo id="wq0of"><meter id="wq0of"></meter></bdo>
<rt id="wq0of"><noframes id="wq0of"><span id="wq0of"><small id="wq0of"></small></span>

    コミュニティ
    記事 トピックス に質問
    學ぶ
    コース プログラミング辭典
    ツールライブラリ
    開発ツール 公式サイト PHP ライブラリ JS特殊効果 サイト素材 拡張プラグイン
    AIツール
    レジャー
    ゲームのダウンロード ゲームのチュートリアル
    検索
    日本語
    簡體中文 English 繁體中文 日本語 ??? Melayu Fran?ais Deutsch
    Login
    singup
    目次
    API for XML )" >1.SAX (シンプルな API for XML )
    Document Object Model)" >2.DOM (Document Object Model)
    3.ElementTree (要素ツリー)
    python は SAX を使用して xml を解析します
    ContentHandlerクラスのメソッド紹介
    make_parser メソッド
    パーサーメソッド
    String方法" >parseString方法
    Python 解析XML實例
    使用xml.dom解析xml
    ホームページ WeChat アプレット WeChatの開発 PythonでのXML解析の詳しい説明

    PythonでのXML解析の詳しい説明

    大家講道理
    大家講道理
    Apr 11, 2017 pm 02:10 PM



    XMLとは何ですか?


    XML は、拡張可能なマークアップ言語 (eXtensible Markup Language) を指します。

    XML はデータを送信および保存するように設計されています。

    XML は、ドキュメントをコンポーネントに分割し、それらのコンポーネントを識別するセマンティック マークアップを定義する一連のルールです。

    これはメタ マークアップ言語でもあります。つまり、特定のフィールドに関連する他のセマンティックおよび構造化マークアップ言語を定義するための構文言語を定義します。


    pythonXMLの解析

    一般的なXMLプログラミングインターフェースこれらの2つのインターフェースはDOMとSAXがあり、XMLファイルを異なる方法で処理し、當然使用シナリオも異なります。

    python には、XML、SAX、DOM、および ElementTree を解析するための 3 つのメソッドがあります:

    1.SAX (シンプルな API for XML )

    Python 標準ライブラリには SAX パーサーが含まれており、SAX は event によって駆動されます モデル は、XML の解析プロセス中にイベントを 1 つずつトリガーし、ユーザー定義の コールバック関數 を呼び出すことによって、XML ファイルを処理します。

    2.DOM (Document Object Model)

    は、XML データをメモリ上のツリーに解析し、ツリー上で操作することで XML を操作します。

    3.ElementTree (要素ツリー)

    ElementTree は、便利でフレンドリーな API を備えた軽量 DOM のようなものです。コードは使いやすく、高速で、メモリ消費量が少なくなります。

    注: DOM は XML データをメモリ內のツリーにマップする必要があるため、第一に比較的遅く、第二に、XML ファイルの SAX ストリーミング読み取りの方が高速でメモリ消費量が少なくなりますが、より多くのメモリを消費します。ユーザー実裝のコールバック関數 (handler)。

    この章で使用される XML サンプル ファイル movie.xml の內容は次のとおりです:

    <collection shelf="New Arrivals"><movie title="Enemy Behind">
       <type>War, Thriller</type>
       <format>DVD</format>
       <year>2003</year>
       <rating>PG</rating>
       <stars>10</stars>
       <description>Talk about a US-Japan war</description></movie><movie title="Transformers">
       <type>Anime, Science Fiction</type>
       <format>DVD</format>
       <year>1989</year>
       <rating>R</rating>
       <stars>8</stars>
       <description>A schientific fiction</description></movie>
       <movie title="Trigun">
       <type>Anime, Action</type>
       <format>DVD</format>
       <episodes>4</episodes>
       <rating>PG</rating>
       <stars>10</stars>
       <description>Vash the Stampede!</description></movie><movie title="Ishtar">
       <type>Comedy</type>
       <format>VHS</format>
       <rating>PG</rating>
       <stars>2</stars>
       <description>Viewable boredom</description></movie></collection>

    python は SAX を使用して xml を解析します

    SAX はイベント駆動型 API です。

    SAX を使用した XML ドキュメントの解析には、パーサーとイベント ハンドラーの 2 つの部分が含まれます。

    パーサーは、XML ドキュメントを読み取り、要素開始イベントや要素終了イベントなどのイベント プロセッサにイベントを送信する役割を擔います。

    イベント プロセッサは、イベントに応答し、渡された XML データを処理する役割を擔います。

    • 1. 大きなファイルを処理します。

    • 2. ファイルの一部のみが必要、またはファイルの特定の情報のみが必要です。

    • 3. 獨自の オブジェクトモデルを作成したい場合。

    sax を使用して Python で xml を処理するには、まず xml.sax に parse 関數を導入し、xml.sax.handler に ContentHandler を導入する必要があります。

    ContentHandlerクラスのメソッド紹介

    characters(content)メソッド

    呼び出しタイミング:

    ラベルに遭遇する前の行から始まり、文字があり、contentの値はこれらの文字列です。

    あるラベルから次のラベルに出會うまでに文字があり、コンテンツの値はこれらの文字列です。

    ラベルから、行終端記號に遭遇する前に文字があり、コンテンツの値はこれらの文字列です。

    タグは開始タグまたは終了タグにすることができます。

    startDocument()メソッド

    は、ドキュメントの開始時に呼び出されます。

    endDocument() メソッド

    は、パーサーがドキュメントの終わりに到達すると呼び出されます。

    startElement(name, attrs) メソッド

    は、XML 開始タグが見つかったときに呼び出されます。name はタグの名前であり、attrs はタグの attributesvalue ディクショナリです。

    endElement(name)メソッド

    は、XML終了タグが見つかったときに呼び出されます。


    make_parser メソッド

    次のメソッドは、新しいパーサー オブジェクトを作成して返します。

    xml.sax.make_parser( [parser_list] )

    パラメータの説明:

    • parser_list - オプションのパラメータ、パーサーリスト


    パーサーメソッド

    次のメソッドは、SAX パーサーを作成し、XML ドキュメントを解析します:

    xml.sax.parse( xmlfile, contenthandler[, errorhandler])

    パラメーターの説明:

    • xmlfile - XML ファイル名

    • contenthandler - ContentHandler オブジェクトである必要があります

    • errorhandler - 如果指定該參數,errorhandler必須是一個SAX ErrorHandler對象


    parseString方法

    parseString方法創(chuàng)建一個XML解析器并解析xml字符串:

    xml.sax.parseString(xmlstring, contenthandler[, errorhandler])

    參數說明:

    • xmlstring - xml字符串

    • contenthandler - 必須是一個ContentHandler的對象

    • errorhandler - 如果指定該參數,errorhandler必須是一個SAX ErrorHandler對象


    Python 解析XML實例

    #!/usr/bin/python# -*- coding: UTF-8 -*-import xml.saxclass MovieHandler( xml.sax.ContentHandler ):
       def init(self):
          self.CurrentData = ""
          self.type = ""
          self.format = ""
          self.year = ""
          self.rating = ""
          self.stars = ""
          self.description = ""
    
       # 元素開始事件處理
       def startElement(self, tag, attributes):
          self.CurrentData = tag      if tag == "movie":
             print "*****Movie*****"
             title = attributes["title"]
             print "Title:", title   # 元素結束事件處理
       def endElement(self, tag):
          if self.CurrentData == "type":
             print "Type:", self.type      elif self.CurrentData == "format":
             print "Format:", self.format      elif self.CurrentData == "year":
             print "Year:", self.year      elif self.CurrentData == "rating":
             print "Rating:", self.rating
          elif self.CurrentData == "stars":
             print "Stars:", self.stars
          elif self.CurrentData == "description":
             print "Description:", self.description
          self.CurrentData = ""
    
       # 內容事件處理
       def characters(self, content):
          if self.CurrentData == "type":
             self.type = content
          elif self.CurrentData == "format":
             self.format = content
          elif self.CurrentData == "year":
             self.year = content
          elif self.CurrentData == "rating":
             self.rating = content
          elif self.CurrentData == "stars":
             self.stars = content
          elif self.CurrentData == "description":
             self.description = content
      
    if ( name == "main"):
       
       # 創(chuàng)建一個 XMLReader
       parser = xml.sax.make_parser()
       # turn off namepsaces
       parser.setFeature(xml.sax.handler.feature_namespaces, 0)
    
       # 重寫 ContextHandler
       Handler = MovieHandler()
       parser.setContentHandler( Handler )
       
       parser.parse("movies.xml")

    以上代碼執(zhí)行結果如下:

    *****Movie*****Title: Enemy BehindType: War, ThrillerFormat: DVDYear: 2003Rating: PGStars: 10Description: Talk about a US-Japan war*****Movie*****Title: TransformersType: Anime, Science FictionFormat: DVDYear: 1989Rating: RStars: 8Description: A schientific fiction*****Movie*****Title: TrigunType: Anime, ActionFormat: DVDRating: PGStars: 10Description: Vash the Stampede!*****Movie*****Title: IshtarType: ComedyFormat: VHSRating: PGStars: 2Description: Viewable boredom

    使用xml.dom解析xml

    文件對象模型(Document Object Model,簡稱DOM),是W3C組織推薦的處理可擴展置標語言的標準編程接口。

    一個 DOM 的解析器在解析一個 XML 文檔時,一次性讀取整個文檔,把文檔中所有元素保存在內存中的一個樹結構里,之后你可以利用DOM 提供的不同的函數來讀取或修改文檔的內容和結構,也可以把修改過的內容寫入xml文件。

    python中用xml.dom.minidom來解析xml文件,實例如下:

    #!/usr/bin/python# -*- coding: UTF-8 -*-from xml.dom.minidom import parseimport xml.dom.minidom# 使用minidom解析器打開 XML 文檔DOMTree = xml.dom.minidom.parse("movies.xml")collection = DOMTree.documentElementif collection.hasAttribute("shelf"):
       print "Root element : %s" % collection.getAttribute("shelf")# 在集合中獲取所有電影movies = collection.getElementsByTagName("movie")# 打印每部電影的詳細信息for movie in movies:
       print "*****Movie*****"
       if movie.hasAttribute("title"):
          print "Title: %s" % movie.getAttribute("title")
    
       type = movie.getElementsByTagName(&#39;type&#39;)[0]
       print "Type: %s" % type.childNodes[0].data
       format = movie.getElementsByTagName(&#39;format&#39;)[0]
       print "Format: %s" % format.childNodes[0].data
       rating = movie.getElementsByTagName(&#39;rating&#39;)[0]
       print "Rating: %s" % rating.childNodes[0].data
       description = movie.getElementsByTagName(&#39;description&#39;)[0]
       print "Description: %s" % description.childNodes[0].data

    以上程序執(zhí)行結果如下:

    Root element : New Arrivals*****Movie*****Title: Enemy BehindType: War, ThrillerFormat: DVDRating: PGDescription: Talk about a US-Japan war*****Movie*****Title: TransformersType: Anime, Science FictionFormat: DVDRating: RDescription: A schientific fiction*****Movie*****Title: TrigunType: Anime, ActionFormat: DVDRating: PGDescription: Vash the Stampede!*****Movie*****Title: IshtarType: ComedyFormat: VHSRating: PGDescription: Viewable boredom

    以上がPythonでのXML解析の詳しい説明の詳細內容です。詳細については、PHP 中國語 Web サイトの他の関連記事を參照してください。

    このウェブサイトの聲明
    この記事の內容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當する法的責任を負いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

    ホットAIツール

    Undress AI Tool

    Undress AI Tool

    脫衣畫像を無料で

    Undresser.AI Undress

    Undresser.AI Undress

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

    AI Clothes Remover

    AI Clothes Remover

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

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    Video Face Swap

    Video Face Swap

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

    もっと見る

    人気の記事

    グラスワンダービルドガイド|ウマゴサメはかなりダービーです
    1 か月前 By Jack chen
    <??>:森の99泊 - すべてのバッジとそれらのロックを解除する方法
    4週間前 By DDD
    船と墓のためのRimworld Odyssey溫度ガイド
    3週間前 By Jack chen
    メジロライアンビルドガイド|ウマゴサメはかなりダービーです
    3週間前 By Jack chen
    Rimworld Odyssey釣り方
    3週間前 By Jack chen
    もっと見る

    ホットツール

    メモ帳++7.3.1

    メモ帳++7.3.1

    使いやすく無料のコードエディター

    SublimeText3 中國語版

    SublimeText3 中國語版

    中國語版、とても使いやすい

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統(tǒng)合開発環(huán)境

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SublimeText3 Mac版

    SublimeText3 Mac版

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

    もっと見る

    ホットトピック

    Laravel チュートリアル
    1601
    29
    PHP チュートリアル
    1502
    276
    もっと見る

    福祉オンライン PHP トレーニング,PHP 學習者の迅速な成長を支援します!

    私たちについて 免責事項 Sitemap

    ? php.cn All rights reserved

    感谢您访问我们的网站,您可能还对以下资源感兴趣:

    国产av日韩一区二区三区精品
  • <bdo id="92k8r"><tbody id="92k8r"><bdo id="92k8r"></bdo></tbody></bdo>