Maison développement back-end Tutoriel XML/RSS Brève analyse des fonctions de chaîne XPath et XSLT avec des exemples

Brève analyse des fonctions de chaîne XPath et XSLT avec des exemples

Mar 01, 2017 pm 04:53 PM
xpath xslt

XPath (xml Path Language) est un langage de traitement des segments de documents XML. XSLT (Extensible Stylesheet Language Transformations, Extensible Stylesheet Language Transformations) utilise XPath pour décrire les expressions et les chemins d'adresse afin de contrôler la sélection des nœuds. XSLT peut convertir XML en divers formats tels que HTML ou d'autres formats.
Ce qui suit utilise un programme de publipostage pour expliquer brièvement la fonction de chaîne XPath. Le fichier XML suivant contient des données et le fichier XSLT contient la définition du format d'e-mail. MSXML4.0 applique des feuilles de style aux documents XML pour produire un document texte de courrier électronique fusionné.
Fichier XML Letter.xml

<?xml version="1.0" encoding="UTF-8"?>
<Letter>
  <Date>July 17, 2002</Date>
  <To>
     <FirstName>Vicky</FirstName>
     <LastName>P</LastName>
     <Sex>Male</Sex>
  </To>
  <Address>
     <Line1>900 National Pkwy</Line1>
     <Line2>Suite 105</Line2>
     <City>Bellevue</City>
     <State>WA</State>
     <Zip>98007</Zip>
     <Country>USA</Country>
  </Address>
  <Subject>ESTATE OF JOHN DOE / FILE NO. 12345.6789</Subject>
  <Text>
     Please pay the PRoperty taxes as soon as possible.
  </Text>
  <Sender>
     <FirstName>John</FirstName>
     <LastName>M</LastName>
     <Title>Sr. Tax Consultant</Title>
  </Sender>
</Letter>
Copier après la connexion

Document de feuille de style XSLT Letter.xsl

<?xml version=&#39;1.0&#39; encoding="utf-8"?>
<xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" indent="yes"/>
<xsl:variable name="NL" select="&#39;&#xA;&#39;" />
<xsl:variable name="Para" select="concat($NL, $NL)" />
<xsl:template match="/">
   <xsl:value-of select="//Date" />
   <xsl:value-of select="$Para" />
To,
<xsl:value-of select="concat(//To/FirstName, &#39; &#39;, //To/LastName)" />
<xsl:value-of select="$NL" />
<xsl:value-of select="//Address/Line1" />
<xsl:value-of select="$NL" />
<xsl:value-of select="//Address/Line2" />
<xsl:value-of select="$NL" />
<xsl:value-of select="concat(//Address/City, &#39; &#39;, //Address/State, &#39; &#39;, //Address/Zip)" />
<xsl:value-of select="$NL" />
<xsl:value-of select="//Address/Country" />
<xsl:value-of select="$Para" />
Regarding: <xsl:value-of select="//Subject" />
<xsl:value-of select="$NL" />
Dear <xsl:if test="starts-with(//Sex, &#39;M&#39;)">Mr. </xsl:if><xsl:if test="starts-with(//Sex, &#39;F&#39;)">Miss </xsl:if>
<xsl:value-of select="concat(//To/FirstName, &#39; &#39;, //To/LastName)" />,
<xsl:value-of select="$Para" />
<xsl:value-of select="//Text" />
<xsl:value-of select="$Para" />
Sincerely,
<xsl:value-of select="$Para" />
<xsl:value-of select="concat(//Sender/FirstName, &#39; &#39;, //Sender/LastName)" />
<xsl:value-of select="$NL" />
<xsl:value-of select="//Sender/Title" />
</xsl:template>
</xsl:stylesheet>
Copier après la connexion

La feuille de style ci-dessus illustre la concat et commence par Ajouter de nouvelles lignes au texte de sortie, et définir et utiliser des variables.
Ce qui suit est le résultat de l'exécution du programme.

1.VC6 crée une application console Win32.
2. Ajoutez le code suivant à stdafx.h :

#include <TCHAR.H>
#include <stdio.h>
#include <time.h>
#import "msxml4.dll"
// If this import statement fails, you need to install MSXML 4.0 SP1 from:
//http://msdn.microsoft.com/downloads/sample.asp?url=/MSDN-FILES/027/001/766/msdncompositedoc.xml
#include <msxml2.h>
// If this include statement fails, you need to install MSXML 4.0 SP1 SDK from:
//http://msdn.microsoft.com/downloads/sample.asp?url=/MSDN-FILES/027/001/766/msdncompositedoc.xml
// You also need to add the include file and library search path
// to Visual C++&#39;s list of directories (Tools > Options... > Directories).
using namespace MSXML2;
inline void EVAL_HR( HRESULT _hr ) 
   { if FAILED(_hr) throw(_hr); }
#define TEMP_SIZE  _MAX_PATH               // size of short buffer
static _TCHAR   szTemp[TEMP_SIZE];         // multipurpose buffer on stack
static DWord    dwLen;
Copier après la connexion

3. Le code ci-dessus introduit la bibliothèque de types MSXML4, contient le fichier d'en-tête MSXML, vérifie la valeur HRESULT et déclare certaines variables globales.
Fonction 4.main :

  int main(int argc, char* argv[])
{
 try
 {
  EVAL_HR(CoInitialize(NULL));
  // Make sure that MSXML 4.0 is installed
  if (!isMSXMLInstalled())
   return -1;
  // Make sure that XML and XSL file names are passed
  // as command line parameters
  if (argc < 3)
   // Show proper message here
   return -1;
  
  IXMLDOMDocument2Ptr pXMLDoc = NULL;
  IXMLDOMDocument2Ptr pXSLDoc = NULL;
  
  // Load the XML document
  if (loadDocument(pXMLDoc, argv[1], true))
  {
   // Load the stylesheet
   if (loadDocument(pXSLDoc, argv[2], false))
   {
    _ftprintf(stdout, pXMLDoc->transformNode(pXSLDoc));
   }
   else
   {
    printMSXMLError(pXSLDoc);
   }
  }
  else
  {
   printMSXMLError(pXMLDoc);
  }
 }
 catch(...)
 {//exception handling
 }
 
 _ftprintf(stdout, "\n\nPress Enter to continue...");
 getchar();
 CoUninitialize();
 return 0;
}
Copier après la connexion

5.Les noms de fichiers XML et de feuilles de style XSLT sont transmis à l'application en tant que paramètres de ligne de commande. La fonction principale vérifie si MSXML4.0 est installé en appelant isMSXMLInstalled. Les deux appels suivants à loadDocument consistent d'abord à charger le document XML, puis à charger la feuille de style XSLT. Enfin, appelez transformNode pour la conversion.

6. Téléchargez le code de cet exemple : http://www.perfectxml.com/CPPMSXML/downloads/20020716MailMerge.zip

Ce qui précède est une brève analyse de la fonction de chaîne XPath avec des exemples et du contenu XSLT, veuillez faire attention au site Web PHP chinois (www.php.cn) pour plus de contenu connexe !


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)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

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)

PHP en action : extraire des données de documents XML à l'aide de XPath PHP en action : extraire des données de documents XML à l'aide de XPath Jun 13, 2023 pm 10:03 PM

XPath est un outil très utile lorsque vous travaillez avec des données XML à l'aide de PHP. XPath est un langage permettant de localiser des éléments dans des documents XML. Il aide les développeurs à extraire rapidement et facilement les données requises des documents XML. Dans cet article, nous présenterons les concepts de base de XPath et expliquerons en détail comment utiliser XPath en PHP. Nous montrerons comment utiliser XPath pour extraire des données d'un document XML et créer un simple

Comment analyser le contenu HTML à l'aide de PHP et XPath Comment analyser le contenu HTML à l'aide de PHP et XPath Jun 17, 2023 am 11:17 AM

À mesure que la technologie Web continue de se développer, le contenu des pages Web devient de plus en plus complexe. Nous avons souvent besoin d'extraire des informations des pages HTML pour un traitement et une analyse ultérieurs, tels que des robots d'exploration, l'exploration de données, etc. Cet article explique comment utiliser PHP et XPath pour analyser le contenu HTML et obtenir les informations dont nous avons besoin rapidement et facilement. PHPSimpleHTMLDOMParserPHPSimpleHTMLDOMParser est un logiciel open source

Comment utiliser l'extension XSLT de PHP ? Comment utiliser l'extension XSLT de PHP ? May 31, 2023 pm 09:51 PM

L'extension XSLT pour PHP est un outil puissant pour convertir des documents XML aux formats HTML, XHTML ou XML. Cette extension est basée sur la norme W3CXSLT et peut analyser et transformer rapidement des documents XML. Dans cet article, nous verrons comment PHP utilise les extensions XSLT. 1. Installez l'extension XSLT Avant de commencer à utiliser l'extension XSLT, vous devez confirmer si l'extension est installée. Vous pouvez utiliser la fonction phpinfo() pour le visualiser. Si l'extension n'est pas installée, vous devez la configurer en PHP

Explication détaillée de l'utilisation de la fonction PHP XPath : XPath fournit des fonctions de recherche et de requête pour les fichiers XML et HTML. Explication détaillée de l'utilisation de la fonction PHP XPath : XPath fournit des fonctions de recherche et de requête pour les fichiers XML et HTML. Jun 27, 2023 pm 01:04 PM

XPath est un langage permettant d'interroger et de localiser des nœuds spécifiques dans les documents XML et HTML. En tant que langage d'expression de chemin, XPath est largement utilisé dans de nombreux langages de programmation, dont PHP. Dans cet article, nous examinerons en profondeur l'utilisation des fonctions PHPXPath afin que vous puissiez facilement utiliser XPath dans vos projets pour rechercher et interroger des fichiers XML et HTML. Qu’est-ce que XPath ? XPath est un langage permettant d'interroger et de localiser des nœuds spécifiques dans les documents XML et HTML.

Quelles sont les syntaxes de base pour l'injection xPath ? Quelles sont les syntaxes de base pour l'injection xPath ? May 26, 2023 pm 12:01 PM

Tout d'abord, qu'est-ce que xPath : xPath est un langage permettant de rechercher des informations en XML. Dans xPath, il existe sept éléments de nœuds : éléments, attributs, texte, espaces de noms, instructions de traitement, commentaires et documents (nœuds racine). Les documents XML sont analysés sous forme d'arborescences de documents et la racine de l'arborescence est appelée nœud de document ou nœud racine. Il s'agit du code source d'un document XML de base. Comme le montre ce code source XML, la librairie est le nœud du document (nœud racine), et le livre, le titre, l'auteur, l'année et le prix sont les nœuds d'élément. Le nœud livre a quatre nœuds d'éléments enfants : titre, auteur, année, prix, et le nœud titre a trois frères et sœurs : au

Utilisez XPATH pour rechercher du texte contenant   Utilisez XPATH pour rechercher du texte contenant   Sep 10, 2023 am 11:33 AM

Nous pouvons utiliser le localisateur XPath pour identifier les éléments dont le texte de recherche est avec ou des espaces. Vérifions d'abord le code HTML d'un élément Web pour les espaces de fin et de début. Dans l'image ci-dessous, le texte JAVABASICS comporte des espaces comme le reflète le code HTML, le nom de balise Strong. Si l'élément a des espaces dans son texte ou dans la valeur d'un attribut, alors pour créer un XPath pour un tel élément, nous devons utiliser la fonction d'espace normalisé. Il supprime tous les espaces de fin et de début de la chaîne. Il supprime également chaque nouvelle balise ou ligne existante dans la chaîne. Syntaxe//tagname[normalize-space (@attribute/functio)

Technologie DOM et XPath en PHP Technologie DOM et XPath en PHP May 11, 2023 pm 04:04 PM

Ces dernières années, avec le développement continu d’Internet, la technologie de développement Web a également été continuellement mise à jour et réitérée. Parmi eux, le langage PHP est largement utilisé dans le domaine du développement Web en raison de sa facilité d’apprentissage et d’utilisation, de sa vitesse d’exécution rapide et de ses caractéristiques multiplateformes. En PHP, les technologies DOM et XPath sont des technologies couramment utilisées lors du développement d'applications Web. Cet article présentera en détail les connaissances de base et les scénarios d'application de ces deux technologies. 1. Technologie DOM DOM (Document Object Model, DocumentObjectModel) est un moyen de traiter du XML ou du HTM

Un examen approfondi des types et des utilisations des sélecteurs JavaScript Un examen approfondi des types et des utilisations des sélecteurs JavaScript Dec 26, 2023 pm 12:38 PM

Une exploration approfondie des différents types et utilisations des sélecteurs JavaScript Introduction : JavaScript est un langage de script puissant largement utilisé dans le développement Web. Au cours du processus de développement, nous devons souvent obtenir ou manipuler des éléments HTML via des sélecteurs. JavaScript fournit différents types de sélecteurs pour répondre à différents besoins. Cet article explorera en profondeur les différents types et utilisations des sélecteurs JavaScript et fournira des exemples de code concrets. 1. sélection getElementById

See all articles