您想要两者中的“最近”(第一个):
(/*/*[self::concept or self::sections]/title)[1]
如果您想要其中的“最新”(最后一个),请使用:
(/*/*[self::concept or self::sections]/title)[last()]
基于 XSLT 的验证:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/">
<xsl:copy-of select=
"(/*/*[self::concept or self::sections]/title)[1]"/>
===============
<xsl:copy-of select=
"(/*/*[self::concept or self::sections]/title)[last()]"/>
</xsl:template>
</xsl:stylesheet>
当此转换应用于以下 XML 文档时:
<chapter>
<concept>
<title>*********Title 1************</title>
.
.
</concept>
<sections>
<title>**********Title 2*********</title>
</sections>
</chapter>
计算两个 XPath 表达式并将其结果复制到输出:
<title>*********Title 1************</title>
===============
<title>**********Title 2*********</title>