For 循环与 apply-template

xml

1个回答

写回答

蒋诗怡

2025-06-27 19:10

+ 关注

XML
XML

使用For循环与apply-template生成文章

在XSLT中,我们可以使用For循环与apply-template指令来生成内容丰富的文章。For循环用于遍历一个节点集合,而apply-template则用于应用一个指定的模板。

首先,让我们来看一个简单的例子。假设我们有一个XML文件,其中包含了一些书籍的信息,如书名、作者和出版日期。我们希望根据这些信息生成一篇文章,介绍这些书籍的基本情况。

XML文件的结构如下:

XML

<books>

<book>

<title>《Harry Potter and the Sorcerer's Stone》</title>

<author>J.K. Rowling</author>

<published>1997</published>

</book>

<book>

<title>《The Great Gatsby》</title>

<author>F. Scott Fitzgerald</author>

<published>1925</published>

</book>

<book>

<title>《To Kill a Mockingbird》</title>

<author>Harper Lee</author>

<published>1960</published>

</book>

</books>

我们可以使用以下XSLT代码来生成文章:

xslt

<xsl:template match="/">

<html>

<body>

<h1>书籍介绍</h1>

<xsl:apply-templates select="books/book"/>

</body>

</html>

</xsl:template>

<xsl:template match="book">

<h2><strong><xsl:value-of select="title"/></strong></h2>

作者:<xsl:value-of select="author"/>

出版日期:<xsl:value-of select="published"/>

</xsl:template>

上述代码中,我们首先定义了一个模板匹配根节点,生成一个HTML文档的框架。然后,我们使用apply-templates指令选择了books节点下的所有book节点,并将它们应用到了另一个模板中。

在book模板中,我们首先使用一个标题标签h2来显示书籍的标题,同时为标题添加了一个strong标签,以突出显示。然后,我们使用p标签来显示作者和出版日期的信息。

最终,XSLT会将匹配到的book节点循环处理,并生成一篇完整的文章。文章的标题为“书籍介绍”,接下来是每本书的详细信息。

以上是使用For循环与apply-template生成文章的简单示例,通过灵活运用XSLT的语法和指令,我们可以根据实际需求生成更加复杂和多样化的文章。

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号