我正在尝试解析以下XML文件内容
<firstunit>
<head>page</head>
<para>ijkl</para>
<para>mno</para>
<para>xyz</para>
<note>ask</note>
</firstunit>
<firstunit>
<para>para</para>
<head>head</head>
<para>abcd</para>
<para>mnop</para>
<head>xyz</head>
<note>askldj</note>
</firstunit>
问题在于,如果我使用
<xsl:for-each select="para">
我将首先获得所有para标签,然后是其余部分。但是我不会按顺序获取标签。有没有办法遍历这个XML并按顺序获取所有标签?
答案 0 :(得分:1)
XSLT中通常的推送处理样式编码是编写模板并使用apply-templates
,例如
<xsl:template match="firstunit">
<div>
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="para">
<p>
<xsl:apply-templates/>
</p>
</xsl:template>
<xsl:template match="head">
<h1>
<xsl:apply-templates/>
</h1>
</xsl:template>
这样,您可以保持代码结构良好,处理按文档顺序进行。