XPath 文字列関数と XSLT の簡単な分析と例
XPath (xml Path language) は、XML 文書セグメントを処理するための言語です。 XSLT (Extensible Stylesheet Language Transformations、Extensible Stylesheet Language Transformations) は、XPath を使用して式を記述し、ノード選択を制御するためのアドレス パスを記述します。 XSLT は、XML を HTML やその他の形式などのさまざまな形式に変換できます。
以下では、差し込み印刷プログラムを使用して XPath 文字列関数を簡単に説明します。次の XML ファイルにはデータが含まれており、XSLT ファイルには電子メール形式の定義が含まれています。 MSXML4.0 は、スタイル シートを XML ドキュメントに適用して、結合された電子メール テキスト ドキュメントを生成します。
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>
XSLT スタイルシート ドキュメント Letter.xsl
<?xml version='1.0' 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="'
'" /> <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, ' ', //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, ' ', //Address/State, ' ', //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, 'M')">Mr. </xsl:if><xsl:if test="starts-with(//Sex, 'F')">Miss </xsl:if> <xsl:value-of select="concat(//To/FirstName, ' ', //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, ' ', //Sender/LastName)" /> <xsl:value-of select="$NL" /> <xsl:value-of select="//Sender/Title" /> </xsl:template> </xsl:stylesheet>
上記のスタイルシートは、 concat および begin-with XPath 文字列関数と、出力テキストに新しい行を追加する方法、および変数の定義と使用方法を示しています。
以下はプログラムの実行結果です。
1.VC6 は Win32 コンソール アプリケーションを構築します。
2. 次のコードを 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++'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;
3. 上記のコードは、MSXML4 タイプ ライブラリを導入し、MSXML ヘッダー ファイルを含み、HRESULT 値をチェックし、いくつかのグローバル変数を宣言します。
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; }
5.XMLファイル名とXSLTスタイルシートファイル名は、コマンドラインパラメータとしてアプリケーションに渡されます。 main 関数は、isMSXMLInstalled を呼び出して、MSXML4.0 がインストールされているかどうかを確認します。次の 2 つのloadDocument 呼び出しは、最初に XML ドキュメントをロードし、次に XSLT スタイルシートをロードします。 最後に、transformNode を呼び出して変換します。
6. この例のコードをダウンロードします: http://www.perfectxml.com/CPPMSXML/downloads/20020716MailMerge.zip
上記は、XPath 文字列関数と XSLT の簡単な分析です。 PHP 中国語 Web サイト (www.php.cn) にご注意ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









XPath は、PHP を使用して XML データを操作する場合に非常に便利なツールです。 XPath は、XML ドキュメント内の要素を検索するための言語です。これは、開発者が XML ドキュメントから必要なデータを迅速かつ簡単に抽出するのに役立ちます。この記事では、XPath の基本概念を紹介し、PHP で XPath を使用する方法を詳しく説明します。 XPath を使用して XML ドキュメントからデータを抽出し、単純なドキュメントを構築する方法を示します。

Web テクノロジーが発展し続けるにつれて、Web ページのコンテンツはますます複雑になってきています。クローラーやデータマイニングなど、さらなる処理や分析のために HTML ページから情報を抽出する必要があることがよくあります。この記事では、PHP と XPath を使用して HTML コンテンツを解析し、必要な情報を迅速かつ簡単に取得する方法を紹介します。 PHPSimpleHTMLDOMParserPHPSimpleHTMLDOMParser はオープンソースです

PHP の XSLT 拡張機能は、XML ドキュメントを HTML、XHTML、または XML 形式に変換するための強力なツールです。この拡張機能は W3CXSLT 標準に基づいており、XML ドキュメントを迅速に解析して変換できます。この記事では、PHP が XSLT 拡張機能をどのように使用するかについて説明します。 1. XSLT 拡張機能をインストールする XSLT 拡張機能を使用する前に、拡張機能がインストールされているかどうかを確認する必要があります。 phpinfo() 関数を使用して表示できます。拡張機能がインストールされていない場合は、PHP で設定する必要があります

XPath は、XML および HTML ドキュメント内の特定のノードをクエリして検索するための言語です。 XPath はパス表現言語として、PHP を含む多くのプログラミング言語で広く使用されています。この記事では、プロジェクトで XPath を簡単に使用して XML および HTML ファイルの検索とクエリを実行できるように、PHPXPath 関数の使用方法を詳しく説明します。 XPathとは何ですか? XPath は、XML および HTML ドキュメント内の特定のノードをクエリして検索するための言語です。

PHP 拡張機能 XSLT を使用して XML と XHTML を変換する方法の概要: Web 開発では、多くの場合、ブラウザーで表示するために XML ファイルを XHTML (または HTML) 形式に変換する必要があります。 PHP は、この変換プロセスをシンプルかつ効率的に行う XSLT 拡張機能を提供します。この記事では、PHP を使用して XSLT を拡張し、XML から XHTML への変換を実現する方法を紹介し、コード例を示します。ステップ 1: XSLT 拡張機能をインストールして有効にする 開始する前に、PHP 環境が適切であることを確認してください。

まず、xPath とは: xPath は、xml 内の情報を検索するための言語です。xPath には、要素、属性、テキスト、名前空間、処理命令、コメント、ドキュメント (ルート ノード) の 7 つのノード要素があります。 XML ドキュメントはドキュメント ツリーとして解析され、ツリーのルートはドキュメント ノードまたはルート ノードと呼ばれます。これは基本的なXML文書のソースコードであり、このXMLソースコードからわかるように、bookstoreが文書ノード(ルートノード)であり、book、タイトル、著者、年、価格が要素ノードとなっています。 book ノードには 4 つの子要素ノード (タイトル、著者、年、価格) があり、タイトル ノードには 3 つの兄弟ノード (au) があります。

近年、インターネットの継続的な発展に伴い、Web 開発技術も継続的に更新され、反復されています。その中でも、PHP 言語は、学習と使用が簡単で、実行速度が速く、クロスプラットフォームの特性があるため、Web 開発の分野で広く使用されています。 PHPでは、Webアプリケーションを開発する際によく使われる技術としてDOMとXPathの技術がありますが、この記事ではこれら2つの技術の基礎知識と応用シナリオについて詳しく紹介します。 1. DOM テクノロジー DOM (Document Object Model、DocumentObjectModel) は、XML または HTM を処理する方法です

1.xpath1.1xpath Google を使用して、事前に xpath プラグインをインストールします。ctrl+shift+x を押すと、小さな黒いボックスが表示され、lxml ライブラリ pipinstalllxml-ihttps://pypi.douban.com/simple をインストールします。 lxml.etreefromlxmlimportetreeetree.parse() ローカル ファイルを解析します html_tree =etree.parse('XX.html')etree.HTML() サーバー応答ファイル html_tree=etree.HTML(respon
