XPath、XQuery 和 XSLT 函数学习笔记

XPath 函数

XPath 是一种用于在 XML 文档中定位节点的语言,XPath 函数可以对节点进行处理和操作。

常用函数示例:

count()

用于计算某个元素下符合要求的子元素数量。

例如,计算 XML 文件中所有 name 元素的数量:

xpathCopy Code
count(//name)

substring()

用于截取指定字符串的子串。

例如,截取字符串 "Hello World" 中的 "World":

xpathCopy Code
substring("Hello World", 7)

contains()

用于判断一个字符串是否包含另一个字符串。

例如,判断 XML 文件中是否有包含 "bookstore" 的元素:

xpathCopy Code
//*[contains(name(), 'bookstore')]

XQuery 函数

XQuery 是一种用于查询 XML 数据的语言,XQuery 函数可以对数据进行转换、筛选以及处理。

常用函数示例:

string-join()

用于将列表中的字符串连接成一个字符串。

例如,将一个书籍列表中所有书籍的标题连接成一个字符串:

xqueryCopy Code
string-join( for $book in //book return $book/title, ", " )

count()

同 XPath 中的 count(),用于计算符合条件的元素数量。

例如,计算一个书籍列表中所有分类为 "fiction" 的书籍数量:

xqueryCopy Code
count(//book[genre = 'fiction'])

XSLT 函数

XSLT 是一种用于将 XML 转换为不同格式的语言,XSLT 函数可以对 XML 数据进行转换、筛选以及处理。

常用函数示例:

concat()

用于将多个字符串连接成一个字符串。

例如,在一个 HTML 页面中插入书籍信息:

Copy Code
<xsl:template match="book"> <div> <h2><xsl:value-of select="title"/></h2> <p>Author: <xsl:value-of select="author"/></p> <p>Price: $<xsl:value-of select="price"/></p> <p>Genre: <xsl:value-of select="genre"/></p> </div> </xsl:template>

sum()

用于计算一个列表中数值的总和。

例如,计算 XML 文件中所有订单的总价:

Copy Code
<xsl:value-of select="sum(//order/price)"/>