


XSL即可扩展的样式表文件。 可以格式化xml的显示,也可以将xml转换成需要的另一种格式。
学习XSL必须熟悉XPath。XSL和XPath一样简单强大,容易学习。
1. XSL既然可以格式化xml的显示样式,我们先来看如何在xml中引用xsl文件
如下代码示例:
只需在xml文件的文档声明后面添加即可
2. XSL的格式
XSL也是一个标准的xml文件,它以xml文档声明开始,根元素必须是xsl:styleshee,同时根元素必须有version属性指定xsl的版本,和xmlns:xsl=” http://www.php.cn/”指定xsl命名空间,如下示例
3. Xsl要点 如下示例xml
<?xml version="1.0" encoding="utf-8" ?> <?xml-stylesheet type="text/xsl" href="pets-templates.xsl"?> <pets> <pig color="blue" weight="100"> <price>100</price> <desc>this is a blue pig</desc> </pig> <cat color="red" weight="9"> <price>80</price> <desc>this is a red cat</desc> </cat> <dog color="green" weight="15"> <price>80</price> <desc>this is a green dog</desc> </dog> <cat color="green" weight="15"> <price>80</price> <desc>this is a green cat</desc> </cat> <dog color="blue" weight="10"> <price>100</price> <desc>this is a blue dog</desc> </dog> <dog color="red" weight="9"> <price>80</price> <desc>this is a red dog</desc> </dog> </pets>
上面的xml在通过xsl格式化之后的显示效果如下:
1) xsl:template定义匹配节点的转换模板,属性match=”xpath expression”用来定义模板匹配的元素
如下定义匹配根节点的模板
<xsl:template match=”/”> </xsl:template>
2) xsl:for-each循环显示select=”xpath expression”选择节点的转换 (类似编程语言中的foreach语句),
如下示例,选择了pets下面的子元素,并循环显示子元素的几点名字:
<xsl:for-each select=”/pets/*”> <xsl:value-of select=”name()”/> </xsl:for-each>
3) xsl:if 元素条件显示节点(类似编程语言中的if语句)注意小于号大于号要分别用67bffed8d39c986beaddeed3e8cd5568替代
<xsl:if test=”@weight < 10”> <i>its weight is less than 10 km</i> </xsl:if>
4) xsl:choose 多分支条件显示 (类似编程语言中的switch语句)
<xsl:choose > <xsl:when test=”name() = ‘pig’”> <i>this is a pig</i> </xsl:when> <xsl:otherwise> <i>this is not a pig</i> </xsl:otherwise> </xsl:choose>
5) xsl:value-of 显示选择节点或者属性的值
选择子节点price
<xsl:value-of select=”pets/*/price”/>
选择属性weight
<xsl:value-of select=”pets/*/@weight”/>
6) xsl:attribute 构造xml节点的属性
用来向节点添加属性,例如:
<font> <xsl:attribute name=”color”><xsl:value-of select=”pets/*/@color”/></xsl:attribute> </font>
将输出
7) xsl:apply-templates 应用模板
如果xml文件结构比较复杂,可以定义多个template,然后使用
请看下面示例xslt文件pets-templates.xsl
完整的示例xsl文件:pets.xsl
<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <head> <META http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>lovely pets</title> <style type="text/css"> ul{margin:10px 0 10px 0;padding:0;width:400px;text-align:left;} li{height:60px;display:block;list-style:none;padding:4px;border:1px solid #f0f0f0;margin:5px;} </style> </head> <body> <center> <h1 id="lovely-nbsp-pets">lovely pets</h1> <ul> <xsl:for-each select="pets/*"> <li> <img align="right" alt="XSLT-Syntax – detaillierte Erläuterung des Beispielcodes für die Verwendung von XSLT zum Konvertieren von XML-Dokumenten in .net" > <xsl:choose> <xsl:when test="name() = 'dog'"> <xsl:attribute name="src">http://www.php.cn/;/xsl:attribute> </xsl:when> <xsl:when test="name() = 'pig'"> <xsl:attribute name="src">http://www.php.cn/;/xsl:attribute> </xsl:when> <xsl:otherwise> <xsl:attribute name="src">http://www.php.cn/@N00.jpg?1143660418</xsl:attribute> </xsl:otherwise> </xsl:choose> </img> <font> <xsl:attribute name="face">Courier</xsl:attribute> <xsl:attribute name="color"> <xsl:value-of select="@color"/> </xsl:attribute> <xsl:value-of select="name()"/> </font> said: "<xsl:value-of select="desc"/>" weight:<xsl:value-of select="@weight"/> <xsl:if test="@weight < 10"> <p> <i>its weight is less than 10 km</i> </p> </xsl:if> </li> </xsl:for-each> </ul> </center> </body> </html> </xsl:template> </xsl:stylesheet>
完整示例文件 pets-templates.xsl:
<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <head> <META http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>lovely pets</title> <style type="text/css"> ul{margin:10px 0 10px 0;padding:0;width:400px;text-align:left;} li{height:60px;display:block;list-style:none;padding:4px;border:1px solid #f0f0f0;margin:5px;} </style> </head> <body> <center> <h1 id="lovely-nbsp-pets">lovely pets</h1> <ul> <xsl:apply-templates select="pets" /> </ul> </center> </body> </html> </xsl:template> <xsl:template match="pets"> <xsl:apply-templates select="dog"></xsl:apply-templates> <xsl:apply-templates select="pig"></xsl:apply-templates> <xsl:apply-templates select="cat"></xsl:apply-templates> </xsl:template> <xsl:template match="dog"> <xsl:for-each select="."> <li> <img align="right" alt="XSLT-Syntax – detaillierte Erläuterung des Beispielcodes für die Verwendung von XSLT zum Konvertieren von XML-Dokumenten in .net" > <xsl:attribute name="src">http://www.php.cn/;/xsl:attribute> </img> <font> <xsl:attribute name="face">Courier</xsl:attribute> <xsl:attribute name="color"> <xsl:value-of select="@color"/> </xsl:attribute> dog </font> said: "<xsl:value-of select="desc"/>" weight:<xsl:value-of select="@weight"/> <xsl:if test="@weight < 10"> <p> <i>its weight is less than 10 km</i> </p> </xsl:if> </li> </xsl:for-each> </xsl:template> <xsl:template match="pig"> <xsl:for-each select="."> <li> <img align="right" alt="XSLT-Syntax – detaillierte Erläuterung des Beispielcodes für die Verwendung von XSLT zum Konvertieren von XML-Dokumenten in .net" > <xsl:attribute name="src">http://www.php.cn/;/xsl:attribute> </img> <font> <xsl:attribute name="face">Courier</xsl:attribute> <xsl:attribute name="color"> <xsl:value-of select="@color"/> </xsl:attribute> pig </font> said: "<xsl:value-of select="desc"/>" weight:<xsl:value-of select="@weight"/> <xsl:if test="@weight < 10"> <p> <i>its weight is less than 10 km</i> </p> </xsl:if> </li> </xsl:for-each> </xsl:template> <xsl:template match="cat"> <xsl:for-each select="."> <li> <img align="right" alt="XSLT-Syntax – detaillierte Erläuterung des Beispielcodes für die Verwendung von XSLT zum Konvertieren von XML-Dokumenten in .net" > <xsl:attribute name="src">http://www.php.cn/@N00.jpg?1143660418</xsl:attribute> </img> <font> <xsl:attribute name="face">Courier</xsl:attribute> <xsl:attribute name="color"> <xsl:value-of select="@color"/> </xsl:attribute> cat </font> said: "<xsl:value-of select="desc"/>" weight:<xsl:value-of select="@weight"/> <xsl:if test="@weight < 10"> <p> <i>its weight is less than 10 km</i> </p> </xsl:if> </li> </xsl:for-each> </xsl:template> </xsl:stylesheet>
在c#.net中使用XslCompiledTransform转换xml文档,XslTransform也可以使用,但是这个类已经被微软标记为过时,最好不要再用了,如下代码示例:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Xml; namespace UseXslt { class Program { static void Main(string[] args) { //声明XslTransform类实例 System.Xml.Xsl.XslCompiledTransform trans = new System.Xml.Xsl.XslCompiledTransform(); string xsltFile = @"X:\about.net\System.Xml\example\pets.xsl"; using (StreamReader rdr = new StreamReader(xsltFile)) { using (XmlReader xmlRdr = XmlReader.Create(rdr)) { //载入xsl文件 trans.Load(xmlRdr); } } string inputFile = @"X:\about.net\System.Xml\example\pets.xml"; string outputFile = @"X:\about.net\System.Xml\example\pets-out.htm"; //转化源文件输出到输出文件outputFile trans.Transform(inputFile, outputFile); } } }
有一点需要注意,使用XslCompiledTransform转换出来的文件,是一个html格式的,这个类会自动在html的head标签中添加一个未关闭的meta标签 ;微软帮我们想的太多了。
Xslt还可以指定参数,定义变量,有关这些方面请查看相关文档。
Das obige ist der detaillierte Inhalt vonXSLT-Syntax – detaillierte Erläuterung des Beispielcodes für die Verwendung von XSLT zum Konvertieren von XML-Dokumenten in .net. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Die Hauptunterschiede zwischen JSON, XML und RSS sind Struktur und Verwendungszwecke: 1. JSON ist für einen einfachen Datenaustausch geeignet, mit einer kurzen Struktur und leicht zu analysieren. 2. XML ist für komplexe Datenstrukturen mit einer strengen Struktur, aber komplexer Analyse geeignet. 3..

Die Verarbeitung von XML/RSS -Feeds beinhaltet Parsen und Optimierung, und häufige Probleme umfassen Formatfehler, Codierungsprobleme und fehlende Elemente. Zu den Lösungen gehören: 1. Verwenden Sie XML -Verifizierungstools, um nach Formatfehlern zu überprüfen; 2. Gewährleistung der Codierungskonsistenz und verwenden Sie die Chardet -Bibliothek, um Codierung zu erkennen. 3. Verwenden Sie Standardwerte oder überspringen Sie das Element, wenn sie fehlende Elemente haben. 4. Verwenden Sie effiziente Parser wie LXML- und Cache -Parsing -Ergebnisse, um die Leistung zu optimieren. 5. Achten Sie auf Datenkonsistenz und Sicherheit, um XML -Injektionsangriffe zu verhindern.

Zu den Schritten zum Analyse von RSS -Dokumenten gehören: 1. Lesen Sie die XML -Datei, 2. verwenden DOM oder SAX, um XML zu analysieren, 3. Extrahieren von Überschriften, Links und anderen Informationen und 4. Prozessdaten. RSS-Dokumente sind XML-basierte Formate, die zur Veröffentlichung aktualisierter Inhalte, Strukturen und Elemente verwendet werden, die zum Erstellen von RSS-Lesern oder Datenverarbeitungstools geeignet sind.

RSS und XML sind die Kerntechnologien für die Verteilung von Netzwerkinhalten und den Datenaustausch. RSS wird verwendet, um häufig aktualisierte Inhalte zu veröffentlichen, und XML wird verwendet, um Daten zu speichern und zu übertragen. Entwicklungseffizienz und Leistung können durch Nutzungsbeispiele und Best Practices in realen Projekten verbessert werden.

Die Rolle von XML bei RSSFeed besteht darin, Daten zu strukturieren, zu standardisieren und Skalierbarkeit zu bieten. 1.xml macht RSSFeed -Daten strukturiert, was es einfach macht, analysieren und zu verarbeiten. 2.xml bietet eine standardisierte Möglichkeit, das Format von RSSFeed zu definieren. 3.xml Skalierbarkeit ermöglicht es RSSFeed, nach Bedarf neue Tags und Attribute hinzuzufügen.

Bei der Verarbeitung von XML- und RSS -Daten können Sie die Leistung in den folgenden Schritten optimieren: 1) Effiziente Parser wie LXML verwenden, um die Parsengeschwindigkeit zu verbessern; 2) SAX -Parsers verwenden, um den Speicherverbrauch zu reduzieren. 3) Verwenden Sie XPath -Ausdrücke, um die Effizienz der Datenextraktion zu verbessern. 4) Implementieren Sie die parallele Verarbeitung von Multi-Process, um die Verarbeitungsgeschwindigkeit zu verbessern.

RSS2.0 ist ein offener Standard, mit dem Content -Publisher Inhalte strukturiert verteilen kann. Es enthält reichhaltige Metadaten wie Titel, Links, Beschreibungen, Veröffentlichungsdaten usw., mit denen Abonnenten schnell durchsuchen und auf Inhalte zugreifen können. Die Vorteile von RSS2.0 sind seine Einfachheit und Skalierbarkeit. Beispielsweise ermöglicht es benutzerdefinierte Elemente, dh Entwickler können zusätzliche Informationen basierend auf ihren Anforderungen hinzufügen, z. B. Autoren, Kategorien usw.

RSS ist ein XML-basiertes Format, das zur Veröffentlichung häufig aktualisierter Inhalte verwendet wird. 1. RSSFEED organisiert Informationen über die XML -Struktur, einschließlich Titel, Link, Beschreibung usw. 2. Das Erstellen von RSSFeed erfordert das Schreiben in der XML -Struktur und addiert Metadaten wie Sprache und Veröffentlichungsdatum. 3. Die erweiterte Verwendung kann Multimedia -Dateien und klassifizierte Informationen enthalten. 4. Verwenden Sie beim Debuggen XML -Überprüfungswerkzeuge, um sicherzustellen, dass die erforderlichen Elemente existieren und korrekt codiert werden. 5. Optimierung von RSSFeed kann durch Pagen, Zwischenspeichern und Einfachen der Struktur erreicht werden. Durch das Verständnis und Anwenden dieses Wissens können Inhalte effektiv verwaltet und verteilt werden.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

Dreamweaver CS6
Visuelle Webentwicklungstools

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.
