Maison développement back-end Tutoriel XML/RSS Questions fréquemment posées sur la prise en main de XML (4)

Questions fréquemment posées sur la prise en main de XML (4)

Dec 22, 2016 pm 05:39 PM
xml

Comment gérer les caractères d'espacement dans le modèle objet XML ?

Parfois, le modèle objet XML affichera les nœuds TEXTE contenant des caractères d'espacement. Lorsque les caractères d'espacement sont tronqués, cela risque de créer une certaine confusion. Par exemple, l'exemple XML suivant :


]>
Smith
John

génère l'arborescence suivante :


PInstruction de traitement : xml
ELEMENT : personne
TEXTE : nom
TEXTE : prénom
TEXTE :


Le prénom et le nom sont entourés de nœuds TEXTE contenant uniquement des espaces caractères car le modèle de contenu de l'élément « personne » est MIXED ; il contient le mot-clé #PCDATA. Le modèle de contenu MIXED spécifie que du texte peut exister entre les éléments. Par conséquent, ce qui suit est également correct :


Mon nom de famille est Smith et mon prénom est

John



Le résultat est un arbre semblable au suivant :


ÉLÉMENT : personne

TEXTE : Mon nom de famille est

TEXTE : et mon prénom est
ÉLÉMENT : prénom
TEXTE :


Sans les caractères d'espacement après et avant le mot « est », et les caractères d'espacement après et avant le mot « et », la phrase serait inintelligible. Par conséquent, pour le modèle de contenu MIXED, les combinaisons de texte, les caractères d’espacement et les éléments sont tous pertinents. Ce n’est pas le cas pour les modèles de contenu non MIXTE.

Pour faire disparaître le nœud TEXT contenant uniquement des espaces, supprimez le mot-clé #PCDATA de la déclaration de l'élément "person" :


Le résultat est l'arborescence claire suivante :

Instruction de traitement : xml

DocType : personne

ELEMENT : personne

ELEMENT : nom
ELEMENT : prénom

A quoi sert la déclaration XML ?

La déclaration XML doit être listée en haut du document XML :

Elle précise les éléments suivants :

Le document est un document XML. Les détecteurs MIME peuvent l'utiliser pour détecter si un fichier est de type text/xml lorsque le type MIME est manquant ou n'a pas été spécifié.

 Le document est conforme à la spécification XML 1.0. Cela sera important à l'avenir s'il existe d'autres versions de XML.

Encodage des caractères du document. L'attribut d'encodage est facultatif et la valeur par défaut est UTF-8.

REMARQUE : La déclaration XML doit être sur la première ligne du document XML, donc le fichier XML suivant :


produit l'erreur d'analyse suivante :

Déclaration XML non valide.

Ligne 0000002 :

Emplacement 0000007 : ------^

Remarque : La déclaration XML est facultative. Si vous devez spécifier des commentaires ou des instructions de traitement en haut, ne mettez pas de déclaration XML. Cependant, l'encodage par défaut sera UTF-8.


Comment imprimer mon document XML dans un format lisible ?

Lors de la construction d'un document à partir de zéro en utilisant le DOM pour produire un fichier XML, tout est sur une seule ligne sans espaces entre eux. Il s'agit du comportement par défaut.

Construit la feuille de style XSL par défaut dans Internet Explorer 5 pour afficher et imprimer les documents XML dans un format lisible. Par exemple, si IE5 est installé, essayez de consulter le fichier nospace.xml. Le navigateur doit afficher l'arborescence suivante :

-

-

Imprimer du XML lisible est très intéressant, surtout lorsqu'il existe des DTD qui définissent différents types de modèles de contenu. Par exemple, dans le modèle de contenu mixte (#PCDATA), vous ne pouvez pas insérer d'espaces car cela pourrait modifier la signification du contenu. Par exemple, considérons le XML suivant :

Elephant
Il serait préférable de ne pas afficher comme :

E

lephant

car les limites des mots ne sont plus correctes.

Tout cela rend l’impression automatisée problématique. Si vous n'avez pas besoin d'imprimer du XML lisible, vous pouvez utiliser le DOM pour insérer des caractères d'espacement en tant que nœuds de texte aux emplacements appropriés.

 Comment utiliser les espaces de noms en DTD ? Pour utiliser un espace de noms dans une DTD, déclarez-le dans la déclaration ATTLIST de l'élément qui l'utilise, comme ceci :


Le type d'espace de noms doit être #FIXED. Il en va de même pour les espaces de noms d'attributs :

Espaces de noms et schémas XML

Les schémas DTD et XML ne peuvent pas être mélangés. Par exemple, le xmlns:x CDATA #FIXED "x-schema:myschema.xml" suivant. L'utilisation des schémas DTD et XML s'excluent mutuellement.

 Comment utiliser XMLDSO en Visual Basic ?

Utilisez le XML suivant comme exemple :


Mark Hanson

206 765 4583


Jane Smith

425 808 1111


Vous pouvez vous lier à un jeu d'enregistrements ADO comme suit :

Créez un nouveau projet VB 6.0.

Ajoutez des références à Microsoft ActiveX Data Objects 2.1 ou version ultérieure, à la bibliothèque Microsoft Data Adapter et à Microsoft XML version 2.0.


Utilisez le code suivant pour charger des données XML dans le contrôle XML DSO :


Dim dso As New XMLDSOControl
Dim doc As IXMLDOMDocument
Set doc = dso.XMLDocument
doc.Load ("d:test.xml")

Utilisez le suivant Le code mappe le DSO dans un nouvel objet recordset à l'aide d'un DataAdapter : > Set rs.DataSource = da


Accédez aux données :


MsgBox rs.Fields("name ").Value

Le résultat affiche la chaîne " Mark Hanson"
 Comment utiliser XML DOM en java ?

 La version IE5 de MSXML.DLL doit être installée. Dans Visual J 6.0, sélectionnez Ajouter COM Wrapper dans le menu Projet, puis sélectionnez « Microsoft XML 1.0 » dans la liste des objets COM. Cela construira le wrapper Java requis dans un nouveau package appelé "msxml". Ces wrappers Java prédéfinis sont également disponibles en téléchargement. Les classes peuvent être utilisées comme suit :

import com.ms.com.*;
import msxml.*;

public class Class1

{

public static void main (String[] args)

 {
 DOMDocument doc = new DOMDocument();
 doc.load(new Variant("file://d:/samples/ot.xml"));
System.out.println("Loaded " doc.getDocumentElement().getNodeName());
 }
 }



L'exemple de code sera chargé depuis le soleil exemple de religion, fichier de test de 3,8 Mo "ot.xml". La classe Variant encapsule le type de base Win32 VARIANT.

Vous ne pouvez pas utiliser de comparaisons de pointeurs sur les nœuds car vous obtenez en fait un nouveau wrapper à chaque fois que vous récupérez le nœud. Par conséquent, n'utilisez pas le code suivant,

IXMLDOMNode root1 = doc.getDocumentElement();

IXMLDOMNode root2 = doc.getDocumentElement();

if (root1 == root2). .


Utilisez plutôt le code suivant :

if (ComLib.isEqualUnknown(root1, root2)) ....

La taille totale du wrapper .class est d'environ 160 Ko. Cependant, pour une conformité totale avec la spécification W3C, seuls les wrappers IXMLDOM* doivent être utilisés. Les classes suivantes sont d'anciennes interfaces XML IE 4.0, vous pouvez les supprimer du dossier msxml :


IXMLAttribute*,

IXMLDocument*, XMLDocument*

*,

IXMLElementCollection*,

tagXMLEMEM_TYPE* ​​​​

_xml_error*



Cela réduit la taille à 147 Ko. Vous pouvez également supprimer les éléments suivants :


DOMFreeThreadedDocument

Accédez aux documents XML à partir de plusieurs threads dans les applications Java.

xmlhttpRequest

Utilisez l'extension HTTP XML DAV pour communiquer avec le serveur.

 IXTLRuntime

 Définissez l'objet script de feuille de style XSL.

XMLDSOControl
Se lie aux données XML de la page HTML.
 XMLDOMDocumentEvents
 Renvoie des rappels pendant le processus d'analyse.



Cela réduit la taille à 116 Ko. Pour le rendre encore plus petit, considérez le fait que le DOM lui-même comporte deux couches : la couche centrale se compose de :


DOMDocument, IXMLDOMDocument

IXMLDOMNode*

IXMLDOMDocumentFragment*

IXMLDOMImplémentation

IXMLDOMParseError


Et les informations DTD que les utilisateurs peuvent avoir besoin de conserver :


🎜> IXMLDOMNotation


Tous les types de nœuds dans un XML document sont des IXMLDOMNodes, qui fournissent toutes les fonctionnalités, mais il existe des wrappers de niveau supérieur pour chaque type de nœud. Par conséquent, si vous modifiez le wrapper DOMDocument et changez ces types spécifiques pour utiliser IXMLDOMNode, alors toutes les interfaces suivantes peuvent être supprimées : IXMLDOMAttribute

> IXMLDOMElement

IXMLDOMProcessingInstruction
IXMLDOMEntityReference

IXMLDOMText



Les supprimer réduira la taille à 61 Ko. Cependant, pour IXMLDOMElement, les méthodes getAttribute et setAttribute sont utiles. Sinon, vous devez utiliser :

IXMLDOMNode.getAttributes().setNamedItem(...)

Ce qui précède est le contenu de la FAQ (4) pour démarrer avec XML . Veuillez prêter attention au contenu plus pertinent du site Web chinois PHP (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

Video Face Swap

Video Face Swap

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

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)

Puis-je ouvrir un fichier XML à l'aide de PowerPoint ? Puis-je ouvrir un fichier XML à l'aide de PowerPoint ? Feb 19, 2024 pm 09:06 PM

Les fichiers XML peuvent-ils être ouverts avec PPT ? XML, Extensible Markup Language (Extensible Markup Language), est un langage de balisage universel largement utilisé dans l'échange et le stockage de données. Comparé au HTML, XML est plus flexible et peut définir ses propres balises et structures de données, rendant le stockage et l'échange de données plus pratiques et unifiés. PPT, ou PowerPoint, est un logiciel développé par Microsoft pour créer des présentations. Il fournit un moyen complet de

Utiliser Python pour fusionner et dédupliquer des données XML Utiliser Python pour fusionner et dédupliquer des données XML Aug 07, 2023 am 11:33 AM

Utilisation de Python pour fusionner et dédupliquer des données XML XML (eXtensibleMarkupLanguage) est un langage de balisage utilisé pour stocker et transmettre des données. Lors du traitement de données XML, nous devons parfois fusionner plusieurs fichiers XML en un seul ou supprimer les données en double. Cet article explique comment utiliser Python pour implémenter la fusion et la déduplication de données XML, et donne des exemples de code correspondants. 1. Fusion de données XML Lorsque nous avons plusieurs fichiers XML, nous devons les fusionner

Convertir des données XML au format CSV en Python Convertir des données XML au format CSV en Python Aug 11, 2023 pm 07:41 PM

Convertir des données XML en Python au format CSV XML (ExtensibleMarkupLanguage) est un langage de balisage extensible couramment utilisé pour le stockage et la transmission de données. CSV (CommaSeparatedValues) est un format de fichier texte délimité par des virgules couramment utilisé pour l'importation et l'exportation de données. Lors du traitement des données, il est parfois nécessaire de convertir les données XML au format CSV pour faciliter l'analyse et le traitement. Python est un puissant

Filtrage et tri des données XML à l'aide de Python Filtrage et tri des données XML à l'aide de Python Aug 07, 2023 pm 04:17 PM

Implémentation du filtrage et du tri des données XML à l'aide de Python Introduction : XML est un format d'échange de données couramment utilisé qui stocke les données sous forme de balises et d'attributs. Lors du traitement de données XML, nous devons souvent filtrer et trier les données. Python fournit de nombreux outils et bibliothèques utiles pour traiter les données XML. Cet article explique comment utiliser Python pour filtrer et trier les données XML. Lecture du fichier XML Avant de commencer, nous devons lire le fichier XML. Python possède de nombreuses bibliothèques de traitement XML,

Importer des données XML dans une base de données à l'aide de PHP Importer des données XML dans une base de données à l'aide de PHP Aug 07, 2023 am 09:58 AM

Importation de données XML dans la base de données à l'aide de PHP Introduction : Pendant le développement, nous devons souvent importer des données externes dans la base de données pour un traitement et une analyse ultérieurs. En tant que format d'échange de données couramment utilisé, XML est souvent utilisé pour stocker et transmettre des données structurées. Cet article explique comment utiliser PHP pour importer des données XML dans une base de données. Étape 1 : analyser le fichier XML Tout d'abord, nous devons analyser le fichier XML et extraire les données requises. PHP propose plusieurs façons d'analyser XML, la plus couramment utilisée étant l'utilisation de Simple

Python implémente la conversion entre XML et JSON Python implémente la conversion entre XML et JSON Aug 07, 2023 pm 07:10 PM

Python implémente la conversion entre XML et JSON Introduction : Dans le processus de développement quotidien, nous devons souvent convertir des données entre différents formats. XML et JSON sont des formats d'échange de données courants. En Python, nous pouvons utiliser diverses bibliothèques pour réaliser une conversion mutuelle entre XML et JSON. Cet article présentera plusieurs méthodes couramment utilisées, avec des exemples de code. 1. Pour convertir XML en JSON en Python, nous pouvons utiliser le module xml.etree.ElementTree

Gestion des erreurs et des exceptions en XML à l'aide de Python Gestion des erreurs et des exceptions en XML à l'aide de Python Aug 08, 2023 pm 12:25 PM

Gestion des erreurs et des exceptions dans XML à l'aide de Python XML est un format de données couramment utilisé pour stocker et représenter des données structurées. Lorsque nous utilisons Python pour traiter XML, nous pouvons parfois rencontrer des erreurs et des exceptions. Dans cet article, je vais vous présenter comment utiliser Python pour gérer les erreurs et les exceptions dans XML, et fournir un exemple de code pour référence. Utilisez l'instruction try-sauf pour détecter les erreurs d'analyse XML Lorsque nous utilisons Python pour analyser XML, nous pouvons parfois rencontrer des

Python analyse les caractères spéciaux et les séquences d'échappement en XML Python analyse les caractères spéciaux et les séquences d'échappement en XML Aug 08, 2023 pm 12:46 PM

Python analyse les caractères spéciaux et les séquences d'échappement en XML XML (eXtensibleMarkupLanguage) est un format d'échange de données couramment utilisé pour transférer et stocker des données entre différents systèmes. Lors du traitement de fichiers XML, vous rencontrez souvent des situations contenant des caractères spéciaux et des séquences d'échappement, qui peuvent provoquer des erreurs d'analyse ou une mauvaise interprétation des données. Par conséquent, lors de l’analyse de fichiers XML à l’aide de Python, nous devons comprendre comment gérer ces caractères spéciaux et ces séquences d’échappement. 1. Caractères spéciaux et

See all articles