Table des matières
1. Présentation et installation
2. Gestionnaire d'événements
3. Conversion des majuscules
4. Codes d'erreur
Maison développement back-end Tutoriel XML/RSS Fonctionnement XML de l'extension PHP (2) - Installation et présentation de l'analyseur XML

Fonctionnement XML de l'extension PHP (2) - Installation et présentation de l'analyseur XML

Feb 13, 2017 pm 02:53 PM
php扩展 解析器



1. Présentation et installation

XML (eXtensible Markup Language) est un format de données A permettant d'interagir avec des documents structurés. Il s'agit d'un standard défini par l'Internet Society (W3C). Des informations sur XML et les technologies associées sont disponibles sur http://www.php.cn/.

Cette implémentation d'extension PHP prend en charge expat écrit en PHP par James Clark. Cette boîte à outils peut analyser (mais pas valider) des documents XML. Il prend en charge 3 encodages de caractères fournis par PHP : US-ASCII, ISO-8859-1 et UTF-8. UTF-16 n'est pas pris en charge.

Cette extension crée un analyseur XML et définit des gestionnaires pour différents événements XML. Chaque analyseur XML possède également une poignée de paramètres qui peuvent être ajustés.

Cette extension nécessite l'extension PHP libxml. Cela signifie que --enable-libxml doit être utilisé, bien que cela soit fait implicitement puisque libxml est activé par défaut.

Par défaut, cette extension utilise la couche de compatibilité expatriée. Vous pouvez également utiliser expat. Cette bibliothèque se trouve sur http://www.php.cn/. L'utilisation du Makefile dans la bibliothèque expat ne construira pas le fichier de bibliothèque par défaut. Vous pouvez utiliser les règles de construction suivantes pour construire :


libexpat.a: $(OBJS)
    ar -rc $@ $(OBJS)
    ranlib $@
Copier après la connexion

.

Le package d’installation du code source RPM d’expat peut être trouvé sur http://www.php.cn/.

Cette extension est activée par défaut et peut être désactivée via les options suivantes lors de la compilation : --disable-xml

Ces fonctions sont activées par défaut et utilisent le bundle bibliothèque d'expatriés. Vous pouvez désactiver la prise en charge XML via le paramètre --disable-xml. Si vous compilez PHP en tant que module avec Apache 1.3.9 ou supérieur, PHP utilisera automatiquement la bibliothèque expat fournie avec Apache. Si vous ne souhaitez pas utiliser la bibliothèque expatriée fournie, veuillez utiliser le paramètre --with-expat-dir=DIR lors de l'exécution du script de configuration de configuration de PHP, où DIR doit pointer vers le répertoire racine de l'installation expatriée. .

La version Windows de PHP prend en charge cette extension. Aucune extension supplémentaire n'a besoin d'être chargée pour utiliser ces fonctions.

2. Gestionnaire d'événements

La définition du gestionnaire d'événements XML est la suivante :

被支持的 XML 处理器
PHP 处理器函数 事件描述
xml_set_element_handler() 当 XML 解析器遇到开始或结束标签时,会触发元素事件。 开始标签和结束标签有不同的处理器。
xml_set_character_data_handler() 字符数据范指 XML 文档中所有非标记的内容,包括标签之间的空格。 注意,XML 解析器不会添加或删除任何空格,由应用程序(你)来判断空格是否有意义。
xml_set_processing_instruction_handler() PHP 程序员必须熟练掌握处理指令(PI)。是处理指令, 其中php被称为“处理指令对象”。 除所有以“XML”开头的处理指令对象是系统保留的外, 其他的处理函数均是由应用程序指定的。
xml_set_default_handler() 不执行其他处理函数,则会执行缺省的处理函数。 在缺省的处理函数中可取得如 XML 和文档类型声明等信息。
xml_set_unparsed_entity_decl_handler() 未解析的实体声明(NDATA)会调用此处理函数。
xml_set_notation_decl_handler() 符号声明会调用此处理函数
xml_set_external_entity_ref_handler() 当 XML 解析器发现对外部已解析的普通实体的引用时, 会调用此处理函数。例如,引用一个文件或URL。实例可参见 XML 外部实体例程。
Gestionnaire XML pris en charge
Fonction du gestionnaire PHP Description de l'événement
xml_set_element_handler( ) td> Les événements d'élément sont déclenchés lorsque l'analyseur XML rencontre une balise d'ouverture ou de fermeture. Les balises ouvertes et les balises fermantes ont des gestionnaires différents.
xml_set_character_data_handler() La plage de données de caractères fait référence à tout le contenu non balisé dans le document XML, y compris les espaces entre les balises. Notez que l'analyseur XML n'ajoute ni ne supprime aucun espace, c'est à l'application (vous) de déterminer si l'espace est significatif.
xml_set_processing_instruction_handler() Les programmeurs PHP doivent maîtriser les instructions de traitement (PI). est une instruction de traitement, où php est appelé "objet d'instruction de traitement". A l'exception de tous les objets instructions de traitement commençant par "XML" qui sont réservés par le système, d'autres fonctions de traitement sont spécifiées par le programme d'application.
xml_set_default_handler() Si d'autres fonctions de traitement ne sont pas exécutées, la fonction de traitement par défaut sera exécutée. Des informations telles que les déclarations XML et de type de document sont disponibles dans les fonctions du gestionnaire par défaut.
xml_set_unparsed_entity_decl_handler() La déclaration d'entité non analysée (NDATA) appellera cette fonction de gestionnaire.
xml_set_notation_decl_handler() La déclaration de symbole appellera cette fonction de gestionnaire
xml_set_external_entity_ref_handler() td> Ce gestionnaire est appelé lorsque l'analyseur XML trouve une référence à une entité ordinaire analysée externe. Par exemple, faites référence à un fichier ou à une URL. Des exemples peuvent être trouvés dans les routines d'entités externes XML.

3. Conversion des majuscules

La fonction de traitement des éléments peut convertir le nom de l'élément en forme pliée (lettres majuscules). La casse est définie comme « une opération de chaîne qui remplace les lettres non majuscules par leurs lettres majuscules correspondantes ». En d’autres termes, en XML, la casse est convertie en majuscules.

Par défaut, tous les noms d'éléments transmis via le gestionnaire sont convertis en lettres majuscules. Chaque analyseur XML peut interroger et contrôler cette fonction via les fonctions xml_parser_get_option() et xml_parser_set_option() respectivement.

4. Codes d'erreur

Les constantes suivantes sont des codes d'erreur liés au XML (valeurs de retour de la fonction xml_parse()) :

  • XML_ERROR_NONE

  • XML_ERROR_NO_MEMORY

  • XML_ERROR_SYNTAX

  • XML_ERROR_NO_ELEMENTS

  • XML_ERROR_INVALID_TOKEN

  • XML_ERROR_UNCLOSED_TOKEN

  • XML_ERR OR_PARTIAL_CHAR

  • XML_ERROR_TAG_MISMATCH

  • XML_ERROR_DUPLICATE_ATTRIBUTE

  • XML_ERROR_JUNK_AFTER_DOC_ELEMENT

  • ML_ERROR_UNDEFINED_ENTITY

  • X ML_ERROR_RECURSIVE_ENTITY_REF

  • XML_ERROR_ASYNC_ENTITY

  • XML_ERROR_BAD_CHAR_REF

  • XML_ERROR_BINARY_ENTITY_REF

  • XML_ ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF

  • XML_ERROR_MISPLACED_XML_PI

  • XML_ERROR_UNKNOWN_ENCODING

  • XML_ERROR_INCORRECT_ENCODING

  • XML_ERROR_UNCLOSED_CDATA_SECTION

  • XML_EXTERNAL_EXTITY_HANDLING

  • Plusieurs différences L'encodage des caractères prend en charge le jeu de caractères Unicode. Il existe deux types d'encodages de caractères, l'encodage original et l'encodage cible. Dans la présentation interne de PHP, les documents sont toujours encodés en UTF-8.

    Lorsque le XML est analysé, l'encodage d'origine est terminé. Lors de la création d'un analyseur XML, vous pouvez spécifier l'encodage d'origine (cet encodage ne pourra pas être modifié ultérieurement dans le cycle de vie de l'analyseur XML). Les codages bruts pris en charge sont ISO-8859-1, US-ASCII et UTF-8. Les deux premiers sont des codages sur un seul octet, c'est-à-dire que chaque caractère est représenté par un octet. UTF-8 peut coder des caractères dans une série de nombres variables (jusqu'à 21) de bits, disposés en 1 à 4 octets. Le codage brut par défaut utilisé dans PHP est ISO-8859-1.
Lorsque PHP transmet les données à la fonction de traitement XML, le codage cible est terminé. Lors de la création d'un processeur XML, l'encodage cible est défini pour être le même que l'encodage d'origine, mais peut être modifié à volonté. Le codage cible affecte les données de caractères et les noms de balises, ainsi que les cibles des instructions de traitement.

Si l'analyseur XML rencontre un caractère en dehors de la plage que l'encodage d'origine peut représenter, il renverra une erreur.

Si PHP rencontre un caractère dans le document XML analysé qui ne peut pas être représenté par l'encodage cible spécifié, le caractère problématique sera "déclassé". Généralement, ces caractères sont remplacés par des points d'interrogation (?).

Ce qui précède est l'opération XML de l'extension PHP (2) - Installation et présentation de l'analyseur XML Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !

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

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.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

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)

Comment vérifier quelles extensions sont utilisées en php Comment vérifier quelles extensions sont utilisées en php Aug 01, 2023 pm 04:13 PM

Vous pouvez vérifier quelles extensions sont utilisées par PHP en affichant le résultat de la fonction phpinfo(), en utilisant les outils de ligne de commande et en vérifiant le fichier de configuration PHP. 1. Affichez le résultat de la fonction phpinfo(), créez un script PHP simple, enregistrez ce script sous phpinfo.php et téléchargez-le sur votre serveur Web. Accédez à ce fichier dans le navigateur et utilisez la fonction de recherche du navigateur. Recherchez simplement le mot-clé. "extension" ou "extension_loaded" dans la page pour trouver des informations sur l'extension.

Qu'est-ce qu'un fichier mdi ? Qu'est-ce qu'un fichier mdi ? Feb 18, 2024 pm 01:13 PM

Les fichiers MDI sont un format de document électronique courant, dont le nom complet est Microsoft Document Imaging. Il s'agit d'un format de fichier développé par Microsoft Corporation pour stocker et afficher des documents numérisés. Les fichiers MDI permettent aux utilisateurs de numériser des documents papier en images numériques pouvant être visualisées, modifiées et imprimées à partir d'un ordinateur. Les fichiers MDI présentent de nombreux avantages, le premier étant leur grande compressibilité. Les fichiers MDI peuvent enregistrer les images numérisées dans la plus petite taille de fichier, ce qui est très avantageux pour le stockage et la transmission de documents. Deuxièmement

Comment utiliser php pour étendre PDO afin de se connecter à la base de données Oracle Comment utiliser php pour étendre PDO afin de se connecter à la base de données Oracle Jul 29, 2023 pm 07:21 PM

Comment utiliser PHP pour étendre PDO afin de se connecter à la base de données Oracle Introduction : PHP est un langage de programmation côté serveur très populaire et Oracle est un système de gestion de base de données relationnelle couramment utilisé. Cet article explique comment utiliser l'extension PHP PDO (PHPDataObjects) pour se connecter à la base de données Oracle. 1. Installez l'extension PDO_OCI. Pour vous connecter à la base de données Oracle, vous devez d'abord installer l'extension PDO_OCI. Voici les étapes pour installer l'extension PDO_OCI : Assurez-vous

Comment étendre les capacités de génération de rapports de SuiteCRM à l'aide de PHP Comment étendre les capacités de génération de rapports de SuiteCRM à l'aide de PHP Jul 19, 2023 am 10:27 AM

Comment utiliser PHP pour étendre la fonction de génération de rapports de SuiteCRM SuiteCRM est un puissant système CRM open source qui fournit de riches fonctions pour aider les entreprises à gérer les relations clients. L'une des fonctions importantes est la génération de rapports. L'utilisation de rapports peut aider les entreprises à mieux comprendre leur situation commerciale et à prendre les bonnes décisions. Cet article expliquera comment utiliser PHP pour étendre la fonction de génération de rapports de SuiteCRM et fournira des exemples de code pertinents. Avant de commencer, vous devez vous assurer que SuiteCRM est installé.

Premiers pas avec PHP : installation d'extensions PHP Premiers pas avec PHP : installation d'extensions PHP May 20, 2023 am 08:49 AM

Lors du développement avec PHP, nous devrons peut-être utiliser certaines extensions PHP. Ces extensions peuvent nous fournir plus de fonctions et d'outils, rendant notre travail de développement plus efficace et plus pratique. Mais avant d’utiliser ces extensions, nous devons d’abord les installer. Cet article vous expliquera comment installer les extensions PHP. 1. Qu'est-ce qu'une extension PHP ? Les extensions PHP font référence à des composants qui fournissent des fonctionnalités et des services supplémentaires au langage de programmation PHP. Ces composants peuvent être installés et utilisés via le mécanisme d'extension de PHP. L'extension PHP peut nous aider avec

Comment utiliser l'extension geoip de PHP ? Comment utiliser l'extension geoip de PHP ? Jun 01, 2023 am 09:13 AM

PHP est un langage de script côté serveur populaire capable de gérer le contenu dynamique des pages Web. L'extension geoip pour PHP vous permet d'obtenir des informations sur la localisation de l'utilisateur en PHP. Dans cet article, nous verrons comment utiliser l’extension geoip de PHP. Qu'est-ce que l'extension GeoIP pour PHP ? L'extension geoip pour PHP est une extension gratuite et open source qui vous permet d'obtenir des données sur les adresses IP et les informations de localisation. Cette extension peut être utilisée avec la base de données GeoIP, une base de données développée par MaxMin

Extension PHP et gestion des versions PHP de Pagoda Panel Extension PHP et gestion des versions PHP de Pagoda Panel Jun 21, 2023 am 08:49 AM

Pagoda Panel est un panneau de gestion de serveur open source tout en fournissant aux opérateurs de sites Web une gestion pratique de sites Web, de bases de données, de certificats SSL et d'autres services, il fournit également de puissantes fonctions d'extension PHP et de gestion de versions PHP, ce qui facilite la gestion du serveur. efficace. 1. Extension PHP L'extension PHP est un module utilisé pour améliorer les fonctions PHP. En installant des extensions PHP, davantage de fonctions et de services peuvent être implémentés, tels que : accélérateur : l'accélérateur peut améliorer considérablement les performances de PHP et réduire la charge du service en mettant en cache les scripts PHP.

Exploration approfondie du développement d'extensions PHP : découvrir les secrets du développement d'extensions PHP Exploration approfondie du développement d'extensions PHP : découvrir les secrets du développement d'extensions PHP Feb 19, 2024 pm 11:40 PM

Le développement d'extensions PHP est l'art de créer des fonctionnalités personnalisées, d'étendre les fonctionnalités de base de PHP et de créer des applications plus puissantes. Il ouvre de nouvelles possibilités dans le monde PHP, permettant aux développeurs de transcender les limitations fondamentales du langage. Cet article vous fera découvrir le développement d'extensions PHP, vous fournissant des connaissances complètes et des conseils pratiques, des concepts de base aux techniques avancées. Bases du développement d'extensions PHP Avant de commencer le développement d'extensions PHP, vous devez comprendre certains concepts de base. Que sont les extensions PHP ? Une extension PHP est une bibliothèque de liens dynamiques (DLL) qui étend les fonctionnalités de base de PHP et fournit de nouveaux types de données, fonctions et classes. Avantages des extensions PHP Les extensions PHP présentent de nombreux avantages, notamment : l'évolutivité, la flexibilité, l'optimisation des performances et la réutilisation du code. PHP

See all articles