XQuery学习笔记(一) XQuery概览
一、什么是XQuery
XQuery是W3C设计的一种针对于XML的查询语言,类似于SQL,能够筛选出XML的子集,并进行分组、排序、计算等,功能非常强大,主流编程语言、关系数据库均提供了部分(完全)的支持,为处理XML数据提供了一种新的思路。
二、XQuery的主要用途
1、从关系数据库中提取信息并用于网络服务。
2、产生存储在数据库中数据的报表,以HTML显示在网页。
3、从XML数据库中搜索信息。
4、从数据库或打包好的软件中提取数据,并进行转换以进行其他应用。
5、合并传统的非XML的数据以进行统一管理。
三、XQuery推荐资源
1、书籍:《XQuery权威指南》、《ASP.NET 2.0 XML高级编程》、《SQL Server 2005 XML高级编程》
2、网站:
2) XMLPlease
3) W3School
4) DataDirect
5) TechNet XQuery主页
四、开发工具
1、推荐使用 Altova XML Spy 2010 Enterprise Edition,试用版可以在这里下载。
2、Stylus Studio 2010 Enterprise Edition,试用版可以在这里下载。
3、Dreamweaver、Visual Studio、UltraEdit等。
五、XQuery Hello World
1、打开Altova XML Spy,点击【Project】--【New Project】新建一个项目,Ctrl + S保存,重命名为Simple Test:
2、点击【File】--【New】,选择【XML Extensible Markup Language】,点击【OK】,注意这时会提示要选择一个DTD还是Schema,由于只是新建一个简单的XML文件,故选择Cancel,添加一个XML文件:Users.xml
<Users>
<User id="1">
<Name>Tom</Name>
<Age>12</Age>
</User>
<User id="2">
<Name>Jerry</Name>
<Age>9</Age>
</User>
<User id="3">
<Name>Brooks</Name>
<Age>24</Age>
</User>
</Users>
3、新添加的文件默认不是在项目中,保存后在项目中的【XML Files】上右击,选择【Add Files】,将Users.xml添加到项目中。
4、以类似的方法,新建一个XQuery文件:Users.xq并添加到项目中,模板类型选择【xq XML Query Language】。
5、输入如下代码:
doc("Users.xml")/Users/User/Name
doc()是一个内置函数,将读取指定的XML文件,“/Users/User/Name”称之为路径表达式,注意必须按照元素出现的顺序书写,查询出所有的Name节点。
Alt + F10 执行查询,当提示选择哪个XML文件时,定位到Users.xml,点击【Execute】:
将会新打开一个XML文件以显示查询结果:
6、查询所有指定的元素:
doc("Users.xml")//User
双斜线"//"表示任意路径,即User上面可以有任意父级元素,上面代码即查询所有的User元素。
7、查询指定属性的元素:
doc("Users.xml")/Users/User[@id= "1"]
"@"表示获取属性,并用中括号括起来,上面表达式的意思为:获取User元素中属性id为“1”的所有User元素,并将查询出相应User的所有子元素。
8、用索引获取指定的元素:
doc("Users.xml")//User[2]
获取第二个"User"元素及其子元素,注意XQuery的索引从1开始而不是从0。
六、小结
这次只是说说XQuery的基础内容及总体概览,XQuery的整体框架还是非常庞大的,鉴于XML的重要地位,学习及掌握基础的XQuery表达式十分必要,以后会继续深入的对XQuery的细节进行介绍,并研究,Net SQL Server等其他技术与XQuery的互操作。
附注:
后续篇章会对Altova XML Spy 2010进行简单的配置,以更方便的进行开发。