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

  • communauté
    Articles Sujets Questions et réponses
    Apprendre
    Cours Dictionnaire de programmation
    Bibliothèque d'outils
    Outils de développement Code source du site Web Bibliothèques PHP Effets spéciaux JS Matériel du site Web Plugins d'extension
    Outils d'IA
    Loisirs
    Téléchargement du jeu Tutoriels de jeu
    recherche
    Fran?ais
    簡體中文 English 繁體中文 日本語 ??? Melayu Fran?ais Deutsch
    Login
    singup
    Table des matières
    XML?? " >Qu'est-ce que le XML??
    API pour XML )" >1.SAX (simple API pour XML )
    Document Objet Modèle)" >2.DOM(Document Objet Modèle)
    3.ElementTree (Element Tree)
    python utilise SAX pour analyser XML
    Introduction à la méthode de classe ContentHandler
    String方法" >parseString方法
    Python 解析XML實(shí)例
    使用xml.dom解析xml
    Maison Applet WeChat Développement WeChat Explication détaillée de l'analyse XML en Python

    Explication détaillée de l'analyse XML en Python

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



    Qu'est-ce que le XML??


    XML fait référence au langage de balisage extensible (eXtensible Markup Llangage).

    XML est con?u pour transmettre et stocker des données.

    XML est un ensemble de règles qui définissent un balisage sémantique qui divise un document en composants et identifie ces composants.

    C'est également un langage de méta-balisage, c'est-à-dire qu'il définit un langage syntaxique pour définir d'autres langages de balisage sémantiques et structurés liés à des champs spécifiques.


    PythonAnalyse de XML

    XML communProgrammationInterfaceIl y a DOM et SAX, ces deux-là deux interfaces traitent les fichiers XML de différentes manières et, bien entendu, les scénarios d'utilisation sont également différents.

    Python dispose de trois méthodes pour analyser XML, SAX, DOM et ElementTree?:

    1.SAX (simple API pour XML )

    La

    bibliothèque standard python comprend un analyseur SAX qui utilise des événements pour piloter le modèle en déclenchant les événements un par un et en appelant l'utilisateur pendant le processus. processus d'analyse XML. Définissez la fonction de rappel pour traiter le fichier XML.

    2.DOM(Document Objet Modèle)

    Analyser les données XML dans une arborescence en mémoire, via Manipuler XML utilisant des opérations d'arborescence.

    3.ElementTree (Element Tree)

    ElementTree est comme un DOM léger avec une API pratique et conviviale. Le code est facile à utiliser, rapide et consomme moins de mémoire.

    Remarque?: étant donné que DOM doit mapper les données XML à une arborescence en mémoire, d'une part, il est relativement lent, et d'autre part, il consomme plus de mémoire, tandis que le streaming SAX lit les fichiers XML, ce qui est plus rapide. Il prend moins de mémoire, mais nécessite que l'utilisateur implémente une fonction de rappel (handler).

    Le contenu du fichier d'exemple XML movie.xml utilisé dans ce chapitre est le suivant?:

    <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 utilise SAX pour analyser XML

    SAX est une API basée sur les événements.

    L'utilisation de SAX pour analyser des documents XML implique deux parties?: l'analyseur et le gestionnaire d'événements .

    L'analyseur est responsable de la lecture du document XML et de l'envoi des événements au processeur d'événements, tels que les événements de début et de fin d'élément

    Le processeur d'événements est responsable de répondre à l'événement et de le transmettre?; les données XML sont traitées.

    • 1. Traitez les fichiers volumineux

    • 2.

    • 3. Lorsque vous souhaitez créer votre propre modèle objet.

    Pour utiliser sax pour traiter du XML en python, vous devez d'abord introduire la fonction d'analyse dans xml.sax et le ContentHandler dans xml.sax.handler.

    Introduction à la méthode de classe ContentHandler

    Méthode des caractères (content)

    Minutage de l'appel?:

    Commencer à partir de la ligne, avant de rencontrer le label , il y a des caractères et la valeur du contenu est ces cha?nes .

    D'une balise, il y a des caractères avant de rencontrer la balise suivante, et la valeur du contenu est constituée de ces cha?nes.

    Dans une balise, il y a des caractères avant de rencontrer le terminateur de ligne, et la valeur du contenu est ces cha?nes. La balise

    peut être une balise de début ou une balise de fin. La méthode

    startDocument()

    est appelée au démarrage du document. La méthode

    endDocument()

    est appelée lorsque l'analyseur atteint la fin du document. La méthode

    startElement(name, attrs)

    est appelée lorsqu'une balise de début XML est rencontrée. name est le nom de la balise et attrs est le attribut Dictionnaire des valeurs. La méthode

    endElement(name)

    est appelée lorsqu'une balise de fin XML est rencontrée.


    Méthode make_parser

    La méthode suivante crée un nouvel objet analyseur et le renvoie.

    xml.sax.make_parser( [parser_list] )
    Description du paramètre?:

    • parser_list - Paramètre facultatif, liste d'analyseurs


    Méthode d'analyse

    La méthode suivante crée un analyseur SAX et analyse les documents XML?:

    xml.sax.parse( xmlfile, contenthandler[, errorhandler])
    Description du paramètre?:

    • fichier xml - nom du fichier XML

    • contenthandler - doit être un objet ContentHandler

    • errorhandler - 如果指定該參數(shù),errorhandler必須是一個(gè)SAX ErrorHandler對象


    parseString方法

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

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

    參數(shù)說明:

    • xmlstring - xml字符串

    • contenthandler - 必須是一個(gè)ContentHandler的對象

    • errorhandler - 如果指定該參數(shù),errorhandler必須是一個(gè)SAX ErrorHandler對象


    Python 解析XML實(shí)例

    #!/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   # 元素結(jié)束事件處理
       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 = ""
    
       # 內(nèi)容事件處理
       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)建一個(gè) 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í)行結(jié)果如下:

    *****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組織推薦的處理可擴(kuò)展置標(biāo)語言的標(biāo)準(zhǔn)編程接口。

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

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

    #!/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")# 打印每部電影的詳細(xì)信息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í)行結(jié)果如下:

    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

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

    Outils d'IA chauds

    Undress AI Tool

    Undress AI Tool

    Images de déshabillage gratuites

    Undresser.AI Undress

    Undresser.AI Undress

    Application basée sur l'IA pour créer des photos de nu réalistes

    AI Clothes Remover

    AI Clothes Remover

    Outil d'IA en ligne pour supprimer les vêtements des photos.

    Clothoff.io

    Clothoff.io

    Dissolvant de vêtements AI

    Video Face Swap

    Video Face Swap

    échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

    Afficher plus

    Article chaud

    Guide de construction de Grass Wonder | Uma musume joli derby
    1 Il y a quelques mois By Jack chen
    <??>: 99 nuits dans la forêt - tous les badges et comment les déverrouiller
    1 Il y a quelques mois By DDD
    Guide de température de Rimworld Odyssey pour les navires et Gravtech
    3 Il y a quelques semaines By Jack chen
    Guide de construction Mejiro Ryan | Uma musume joli derby
    4 Il y a quelques semaines By Jack chen
    Rimworld Odyssey Comment pêcher
    3 Il y a quelques semaines By Jack chen
    Afficher plus

    Outils chauds

    Bloc-notes++7.3.1

    Bloc-notes++7.3.1

    éditeur de code facile à utiliser et gratuit

    SublimeText3 version chinoise

    SublimeText3 version chinoise

    Version chinoise, très simple à utiliser

    Envoyer Studio 13.0.1

    Envoyer Studio 13.0.1

    Puissant environnement de développement intégré PHP

    Dreamweaver CS6

    Dreamweaver CS6

    Outils de développement Web visuel

    SublimeText3 version Mac

    SublimeText3 version Mac

    Logiciel d'édition de code au niveau de Dieu (SublimeText3)

    Afficher plus

    Sujets chauds

    Tutoriel Laravel
    1601
    29
    Tutoriel PHP
    1502
    276
    Afficher plus

    Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!

    à propos de nous Clause de non-responsabilité Sitemap

    ? php.cn All rights reserved

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

    国产av日韩一区二区三区精品

  • <ul id="bi4y6"><kbd id="bi4y6"></kbd></ul>