适用于 SQL 专家的 XPath 和 XQuery 教程 (视频)
在加入 Altova 之前,我对 XPath 和 XQuery 都没有任何经验。我接手的第一个任务是尽快学习这两种查询语言,并制作一个简短的视频,作为一份...(此处原文不完整,无法翻译完整) XPath 教程和 XQuery 教程. 了解这两种语言的特性和功能至关重要,因为它们在 MobileTogether 中进行应用程序开发以及在 XMLSpy 中查询数据都扮演着关键角色。我首先利用自己扎实的 SQL 基础,通过先在 SQL 中构建查询,然后再研究如何在两种查询语言中实现相同的功能,从而学习 XPath 和 XQuery。

XPath 和 XQuery 基础培训
Altova 提供了一个全面的、免费的培训资源库,涵盖了 XPath 和 XQuery。我发现,仅仅通过阅读这些培训文档,并将基本概念应用于与 XMLSpy 提供的示例 XML 文件,就能对这两种查询语言建立扎实的理解。我发现,仅仅使用 XPath 就能立即查询大型 XML 文件,这非常令人惊叹。然而,当我开始为 XPath 教程编写更高级的用例时,我开始意识到,使用 XQuery 构建的查询通常更加简洁,并且更容易阅读和调试。
当我进一步阅读了Altova的培训资料时,我注意到XQuery的FLWOR表达式的语法与SQL查询的语法非常相似。XPath和XQuery的核心功能是将数据集转换成更小的表格。它们都能够使用复杂的条件和转换函数进行过滤。此外,这两种语言还可以从多个来源查询数据,并将这些数据整合在一起,从而根据多个规范化数据源中的数据生成结果集。考虑到这些语言之间存在的相似性,我意识到学习XPath和XQuery最简单的方法是从SQL开始。掌握了这些知识后,我开始着手学习。

将各部分整合起来
MobileTogether 包含一个名为 MyCar 的示例移动应用程序,它非常适合作为 XQuery 教程的基础。该应用程序演示了如何向用户询问他们梦想中的汽车。数据由数据库中定义的一组参数提供;它非常理想,因为它包含大量记录,并且每个记录包含多个数据点。该数据集本身以 MDB 文件形式提供,我使用 DatabaseSpy 打开该文件,并将其导出为 XML 格式。我修改了导出的文件,更改了一些字段,以提高我将要编写的查询的可读性。
由于这两个数据集完全相同,我能够生成SQL、XQuery和XPath表达式,这些表达式都能产生相同的结果。这让我能够快速掌握XPath和XQuery。我发现,我可以在几个小时内编写出复杂的查询语句。最终,我制作了下面的视频。这个视频涵盖了八种常见的查询场景,展示了这三种语言中等效的查询语句。

XPath 和 XQuery 培训视频
以下链接包含视频中使用的所有示例查询和数据集。如果您想在内置的 XPath/XQuery 编辑窗口中进行实验,可以申请一个 免费试用版 的 XMLSpy。该软件支持 XML 和 JSON 文件。