


Une introduction détaillée pour vous apprendre à trouver rapidement des informations à partir d'un fichier XML
À l'ère d'Internet, les fichiers XML jouent un rôle dans la sauvegarde et la transmission des données. Le protocole Soap communique des informations via XML et la base de données est accessible via des fichiers XML, etc. Alors comment obtenir rapidement les informations requises à partir d’un fichier XML ?
Nous savons que JAXP de Java et Microsoft.Net ont des analyseurs XML lors de la lecture, tandis que JAXP le lit dans la mémoire puis l'analyse (il existe également un mécanisme d'événement pour lire), en bref, n'est pas propice à une lecture rapide. Sur cette base, Microsoft.Net et JAXP fournissent le mécanisme XPATH pour localiser rapidement les nœuds requis dans le fichier XML.
Par exemple, il existe un fichier XML : booksort.xml :
<?xml version="1.0"?> <!-- a fragment of a book store inventory database --> <bookstore xmlns:bk="urn:samples"> <book genre="novel" publicationdate="1997" bk:ISBN="1-861001-57-8"> <title>PRide And Prejudice</title> <author> <first-name>Jane</first-name> <last-name>Austen</last-name> </author> <price>24.95</price> </book> <book genre="novel" publicationdate="1992" bk:ISBN="1-861002-30-1"> <title>The Handmaid's Tale</title> <author> <first-name>Margaret</first-name> <last-name>Atwood</last-name> </author> <price>29.95</price> </book> <book genre="novel" publicationdate="1991" bk:ISBN="1-861001-57-6"> <title>Emma</title> <author> <first-name>Jane</first-name> <last-name>Austen</last-name> </author> <price>19.95</price> </book> <book genre="novel" publicationdate="1982" bk:ISBN="1-861001-45-3"> <title>Sense and Sensibility</title> <author> <first-name>Jane</first-name> <last-name>Austen</last-name> </author> <price>19.95</price> </book> </bookstore>
Si nous voulons trouver rapidement tous les noms de titres avec "last-name" égal à "Austen", nous peut l'obtenir via la méthode suivante :
XmlReaderSample.cs //Corelib.net/System.Xml.Xsl/XPathDocument Class //Author :Any using System; using System.IO; using System.Xml; using System.Xml.XPath; public class XmlReaderSample { public static void Main() { XmlTextReader myxtreader = new XmlTextReader("booksort.xml"); XmlReader myxreader = myxtreader; XPathDocument doc = new XPathDocument(myxreader); XPathNavigator nav = doc.CreateNavigator(); XPathExpression expr; expr = nav.Compile("descendant::book[author/last-name='Austen']"); //expr.AddSort("title", XmlSortOrder.Ascending, XmlCaSEOrder.None, "", XmlDataType.Text); XPathNodeIterator iterator = nav.Select(expr); while (iterator.MoveNext()) { XPathNavigator nav2 = iterator.Current; nav2.MoveToFirstChild(); Console.WriteLine("Book title: {0}", nav2.Value); } } }
Exécutez ce programme, le résultat est :
Book title: Pride And Prejudice Book title: Emma Book title: Sense and Sensibility
Vous pouvez voir que la recherche est correcte.
En utilisant certaines fonctions de XPATH, vous pouvez également implémenter un tri simple et des opérations simples. Si vous avez souvent besoin de résumer des données dans une base de données, vous pouvez utiliser XPATH pour y parvenir.
Tels que :
order.xml <!--Represents a customer order--> <order> <book ISBN='10-861003-324'> <title>The Handmaid's Tale</title> <price>19.95</price> </book> <cd ISBN='2-3631-4'> <title>Americana</title> <price>16.95</price> </cd> </order>
et : books.xml
<?xml version="1.0"?> <!-- This file represents a fragment of a book store inventory database --> <bookstore> <book cc="dd" xmlns:bk="urn:sample" xmlns:ns="http://www.Any.com" genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0"> <title>The Autobiography of Benjamin Franklin</title> <ns:author> <first-name>Benjamin</first-name> <last-name>Franklin</last-name> </ns:author> <price>8.99</price> </book> <book genre="novel" publicationdate="1967" ISBN="0-201-63361-2"> <title>The Confidence Man</title> <author> <first-name>Herman</first-name> <last-name>Melville</last-name> </author> <price>11.99</price> </book> <book genre="philosophy" publicationdate="1991" ISBN="1-861001-57-6"> <title>The Gorgias</title> <author> <name>Plato</name> </author> <price>9.99</price> </book> </bookstore>
Nous pouvons additionner les prix dans le fichier XML pour obtenir le prix total.
Evaluate.cs //Corelib.net/System.Xml.Xsl/XPathNavigator Class //Author :Any using System; using System.IO; using System.Xml; using System.Xml.XPath; public class EvaluateSample { public static void Main() { EvaluateSample myEvaluateSample = new EvaluateSample(); myEvaluateSample.test("books.xml"); } public void test(String args) { try { //test Evaluate(String); XPathDocument myXPathDocument = new XPathDocument(args); XPathNavigator myXPathNavigator = myXPathDocument.CreateNavigator(); Console.WriteLine(myXPathNavigator.Evaluate("sum(descendant::book/price)")); //testEvaluate(XPathExpression); XmlDocument doc = new XmlDocument(); doc.Load("order.xml"); XPathNavigator nav = doc.CreateNavigator(); XPathExpression expr = nav.Compile("sum(//price/text())"); Console.WriteLine(nav.Evaluate(expr)); //testEvaluate(XPathExpression); XPathNodeIterator myXPathNodeIterator = nav.Select("descendant::book/title"); expr = nav.Compile("sum(//price/text())"); Console.WriteLine(nav.Evaluate(expr,myXPathNodeIterator)); } catch (Exception e) { Console.WriteLine ("Exception: {0}", e.ToString()); } } }
Exécutez ce programme et les résultats sont les suivants :
30.97 36.9 36.9
Nous pouvons voir que 30,97 est la somme de toutes les valeurs de prix dans books.xml, et 36,9 est in order.xml La somme de toutes les valeurs de prix. Non seulement vous pouvez trouver rapidement des informations via XPAH, mais vous pouvez également effectuer un traitement de base sur les informations.
Ce qui précède est une introduction détaillée pour vous apprendre à trouver rapidement des informations à partir d'un fichier XML. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Ouvrez WeChat, sélectionnez Paramètres dans Moi, sélectionnez Général, puis sélectionnez Espace de stockage, sélectionnez Gestion dans Espace de stockage, sélectionnez la conversation dans laquelle vous souhaitez restaurer les fichiers et sélectionnez l'icône de point d'exclamation. Didacticiel Modèle applicable : iPhone13 Système : iOS15.3 Version : WeChat 8.0.24 Analyse 1 Ouvrez d'abord WeChat et cliquez sur l'option Paramètres sur la page Ma. 2 Ensuite, recherchez et cliquez sur Options générales sur la page des paramètres. 3Cliquez ensuite sur Espace de stockage sur la page générale. 4 Ensuite, cliquez sur Gérer sur la page de l'espace de stockage. 5Enfin, sélectionnez la conversation dans laquelle vous souhaitez récupérer des fichiers et cliquez sur l'icône de point d'exclamation à droite. Supplément : les fichiers WeChat expirent généralement au bout de quelques jours. Si le fichier reçu par WeChat n'a pas été cliqué, le système WeChat l'effacera après 72 heures. Si le fichier WeChat a été consulté,

Les fichiers au format Tmp sont un format de fichier temporaire généralement généré par un système informatique ou un programme lors de l'exécution. Le but de ces fichiers est de stocker des données temporaires pour aider le programme à fonctionner correctement ou à améliorer les performances. Une fois l'exécution du programme terminée ou l'ordinateur redémarré, ces fichiers tmp ne sont souvent plus nécessaires. Par conséquent, pour les fichiers au format Tmp, ils sont essentiellement supprimables. De plus, la suppression de ces fichiers tmp peut libérer de l'espace sur le disque dur et assurer le fonctionnement normal de l'ordinateur. Cependant, avant de supprimer les fichiers au format Tmp, nous devons

Lors de la suppression ou de la décompression d'un dossier sur votre ordinateur, une boîte de dialogue d'invite « Erreur 0x80004005 : erreur non spécifiée » apparaît parfois. Comment devez-vous résoudre cette situation ? Il existe en fait de nombreuses raisons pour lesquelles le code d'erreur 0x80004005 est demandé, mais la plupart d'entre elles sont causées par des virus. Nous pouvons réenregistrer la DLL pour résoudre le problème. Ci-dessous, l'éditeur vous expliquera l'expérience de gestion du code d'erreur 0x80004005. . Certains utilisateurs reçoivent le code d'erreur 0X80004005 lors de l'utilisation de leur ordinateur. L'erreur 0x80004005 est principalement due au fait que l'ordinateur n'enregistre pas correctement certains fichiers de bibliothèque de liens dynamiques ou à un pare-feu qui n'autorise pas les connexions HTTPS entre l'ordinateur et Internet. Alors que diriez-vous

Quark Netdisk et Baidu Netdisk sont actuellement les logiciels Netdisk les plus couramment utilisés pour stocker des fichiers. Si vous souhaitez enregistrer les fichiers de Quark Netdisk sur Baidu Netdisk, comment procéder ? Dans ce numéro, l'éditeur a compilé les étapes du didacticiel pour transférer des fichiers d'un ordinateur Quark Network Disk vers Baidu Network Disk. Voyons comment le faire fonctionner. Comment enregistrer les fichiers du disque réseau Quark sur le disque réseau Baidu ? Pour transférer des fichiers de Quark Network Disk vers Baidu Network Disk, vous devez d'abord télécharger les fichiers requis depuis Quark Network Disk, puis sélectionner le dossier cible dans le client Baidu Network Disk et l'ouvrir. Ensuite, faites glisser et déposez les fichiers téléchargés depuis Quark Cloud Disk dans le dossier ouvert par le client Baidu Cloud Disk, ou utilisez la fonction de téléchargement pour ajouter les fichiers sur Baidu Cloud Disk. Assurez-vous de vérifier si le fichier a été transféré avec succès dans Baidu Cloud Disk une fois le téléchargement terminé. C'est ça

Un chemin de fichier est une chaîne utilisée par le système d'exploitation pour identifier et localiser un fichier ou un dossier. Dans les chemins de fichiers, il existe deux symboles courants séparant les chemins, à savoir la barre oblique (/) et la barre oblique inverse (). Ces deux symboles ont des utilisations et des significations différentes selon les systèmes d'exploitation. La barre oblique (/) est un séparateur de chemin couramment utilisé dans les systèmes Unix et Linux. Sur ces systèmes, les chemins de fichiers partent du répertoire racine (/) et sont séparés par des barres obliques entre chaque répertoire. Par exemple, le chemin /home/user/Docume

Récemment, de nombreux internautes ont demandé à l'éditeur : quel est le fichier hiberfil.sys ? hiberfil.sys peut-il occuper beaucoup d’espace sur le disque C et être supprimé ? L'éditeur peut vous indiquer que le fichier hiberfil.sys peut être supprimé. Jetons un coup d'œil aux détails ci-dessous. hiberfil.sys est un fichier caché dans le système Windows et également un fichier d'hibernation du système. Il est généralement stocké dans le répertoire racine du lecteur C et sa taille est équivalente à la taille de la mémoire installée du système. Ce fichier est utilisé lorsque l'ordinateur est en veille prolongée et contient les données de mémoire du système actuel afin qu'il puisse être rapidement restauré à son état précédent lors de la récupération. Étant donné que sa taille est égale à la capacité de la mémoire, il peut occuper une plus grande quantité d’espace sur le disque dur. hiberner

Explication détaillée du rôle des fichiers .ibd dans MySQL et précautions associées MySQL est un système de gestion de base de données relationnelle populaire, et les données de la base de données sont stockées dans différents fichiers. Parmi eux, le fichier .ibd est un fichier de données du moteur de stockage InnoDB, utilisé pour stocker des données et des index dans des tables. Cet article fournira une analyse détaillée du rôle du fichier .ibd dans MySQL et fournira des exemples de code pertinents pour aider les lecteurs à mieux comprendre. 1. Le rôle des fichiers .ibd : stockage des données : les fichiers .ibd sont du stockage InnoDB

Sur les systèmes Linux, vous pouvez utiliser la commande suivante pour afficher le contenu du fichier journal : Commande tail : La commande tail est utilisée pour afficher le contenu à la fin du fichier journal. Il s'agit d'une commande courante pour afficher les dernières informations du journal. tail [option] [nom du fichier] Les options couramment utilisées incluent : -n : Spécifiez le nombre de lignes à afficher, la valeur par défaut est de 10 lignes. -f : Surveillez le contenu du fichier en temps réel et affichez automatiquement le nouveau contenu lorsque le fichier est mis à jour. Exemple : tail-n20logfile.txt#Afficher les 20 dernières lignes du fichier logfile.txt tail-flogfile.txt#Surveiller le contenu mis à jour du fichier logfile.txt en temps réel Commande head : La commande head permet d'afficher le début du fichier journal
