实例简析XPath串函数和XSLT
XPath(xml Path language)是一种处理XML文档段的语言。XSLT(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和starts-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样式表文件名作为命令行参数传递给应用程序。主函数通过调用isMSXMLInstalled验证 MSXML4.0是否安装。接下来两次调用loadDocument;先是加载XML文档,然后是加载XSLT样式表。 最后调用transformNode进行转换。
6.本例代码下载:http://www.perfectxml.com/CPPMSXML/downloads/20020716MailMerge.zip
以上就是实例简析XPath串函数和XSLT的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



XPath ialah alat yang sangat berguna apabila bekerja dengan data XML menggunakan PHP. XPath ialah bahasa untuk mencari elemen dalam dokumen XML. Ia membantu pembangun dengan cepat dan mudah mengekstrak data yang diperlukan daripada dokumen XML. Dalam artikel ini, kami akan memperkenalkan konsep asas XPath dan menerangkan secara terperinci cara menggunakan XPath dalam PHP. Kami akan menunjukkan cara menggunakan XPath untuk mengekstrak data daripada dokumen XML dan membina yang mudah

Apabila teknologi Web terus berkembang, kandungan halaman Web menjadi semakin kompleks. Kami selalunya perlu mengekstrak maklumat daripada halaman HTML untuk pemprosesan dan analisis lanjut, seperti perangkak, perlombongan data, dsb. Artikel ini akan memperkenalkan cara menggunakan PHP dan XPath untuk menghuraikan kandungan HTML dan mendapatkan maklumat yang kami perlukan dengan cepat dan mudah. PHPSimpleHTMLDOMParserPHPSimpleHTMLDOMParser ialah sumber terbuka

Sambungan XSLT untuk PHP ialah alat yang berkuasa untuk menukar dokumen XML kepada format HTML, XHTML atau XML. Sambungan ini adalah berdasarkan standard W3CXSLT dan boleh menghuraikan dan mengubah dokumen XML dengan cepat. Dalam artikel ini, kita akan membincangkan cara PHP menggunakan sambungan XSLT. 1. Pasang sambungan XSLT Sebelum mula menggunakan sambungan XSLT, anda perlu mengesahkan sama ada sambungan itu dipasang. Anda boleh menggunakan fungsi phpinfo() untuk melihatnya. Jika sambungan tidak dipasang, anda perlu mengkonfigurasinya dalam PHP

XPath ialah bahasa untuk menyoal dan mencari nod tertentu dalam dokumen XML dan HTML. Sebagai bahasa ekspresi laluan, XPath digunakan secara meluas dalam banyak bahasa pengaturcaraan, termasuk PHP. Dalam artikel ini, kami akan melihat secara mendalam tentang penggunaan fungsi PHPXPath supaya anda boleh menggunakan XPath dengan mudah dalam projek anda untuk mencari dan menanyakan fail XML dan HTML. Apa itu XPath? XPath ialah bahasa untuk menyoal dan mencari nod tertentu dalam dokumen XML dan HTML.

Gambaran keseluruhan tentang cara menggunakan sambungan PHP XSLT untuk menukar XML dan XHTML: Dalam pembangunan web, selalunya perlu untuk menukar fail XML kepada format XHTML (atau HTML) untuk paparan pada penyemak imbas. PHP menyediakan sambungan XSLT untuk menjadikan proses penukaran ini mudah dan cekap. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melanjutkan XSLT untuk mencapai penukaran XML kepada XHTML dan menyediakan contoh kod. Langkah 1: Pasang dan dayakan sambungan XSLT Sebelum memulakan, pastikan persekitaran PHP anda

Pertama, apakah itu xPath: xPath ialah bahasa untuk mencari maklumat dalam xml Dalam xPath, terdapat tujuh elemen nod: elemen, atribut, teks, ruang nama, arahan pemprosesan, ulasan dan dokumen (nod akar). Dokumen XML dihuraikan sebagai pepohon dokumen, dan akar pokok itu dipanggil nod dokumen atau nod akar. Ini ialah kod sumber dokumen xml asas Dari kod sumber xml ini, kita dapat melihat bahawa kedai buku ialah nod dokumen (nod akar), dan buku, tajuk, pengarang, tahun dan harga ialah nod elemen. Nod buku mempunyai empat nod elemen anak: tajuk, pengarang, tahun, harga dan nod tajuk mempunyai tiga adik beradik: au

Dalam tahun-tahun kebelakangan ini, dengan pembangunan berterusan Internet, teknologi pembangunan web juga sentiasa dikemas kini dan diulang. Antaranya, bahasa PHP digunakan secara meluas dalam bidang pembangunan Web kerana mudah dipelajari dan digunakan, kelajuan berjalan pantas, dan ciri merentas platform. Dalam PHP, teknologi DOM dan XPath adalah teknologi yang biasa digunakan semasa membangunkan aplikasi Web Artikel ini akan memperkenalkan pengetahuan asas dan senario aplikasi kedua-dua teknologi ini secara terperinci. 1. DOM teknologi DOM (Document Object Model, DocumentObjectModel) ialah cara untuk memproses XML atau HTM

1.xpath1.1xpath Gunakan Google untuk memasang pemalam xpath terlebih dahulu Tekan ctrl+shift+x dan kotak hitam kecil akan muncul untuk memasang perpustakaan lxml pipinstalllxml-ihttps://pypi.douban.com/simple lxml.etreefromlxmlimportetreeetree.parse() untuk menghuraikan fail setempat html_tree =etree.parse('XX.html')etree.HTML() fail respons pelayan html_tree=etree.HTML(respon
