來源:
中國XML論壇
看到有人問如何使用xquery,其實(shí)我也是個菜鳥。
剛剛運(yùn)行了兩個例子,給不會的指個路。
首先下載saxon8.1.1
http://saxon.sourceforge.net/
Saxon-B 8.1.1是免費(fèi)的,Saxon-SA 8.1.1是有試用期的,前者就夠了。
系統(tǒng)要安裝jdk1.4.1以上版本,因?yàn)閟axon是用這個版本寫的,但不知道1.3.1行不。
記得設(shè)置JAVA_HOME環(huán)境變量指向jdk。
然后,試試吧!
例子:文件characters.xml
<characters>
<character>
<name>Aleria</name>
<gender>Female</gender>
<species>Heroleim</species>
<vocation>Bard</vocation>
<level>5</level>
<health>25</health>
</character>
<character>
<name>Shar</name>
<gender>Male</gender>
<species>Human</species>
<vocation>Merchant</vocation>
<level>6</level>
<health>28</health>
</character>
<character>
<name>Gite</name>
<gender>Female</gender>
<species>Aelvar</species>
<vocation>Mage</vocation>
<level>7</level>
<health>18</health>
</character>
<character>
<name>Horukkan</name>
<gender>Male</gender>
<species>Udrecht</species>
<vocation>Warrior</vocation>
<level>5</level>
<health>32</health>
</character>
<character>
<name>Gounna</name>
<gender>Female</gender>
<species>Noleim</species>
<vocation>Mage</vocation>
<level>8</level>
<health>31</health>
</character>
<character>
<name>Sheira</name>
<gender>Female</gender>
<species>Human</species>
<vocation>Cleric</vocation>
<level>4</level>
<health>17</health>
</character>
<character>
<name>Drue</name>
<gender>Female</gender>
<species>Voleim</species>
<vocation>Warrior</vocation>
<level>6</level>
<health>32</health>
</character>
<character>
<name>Paccu</name>
<gender>Male</gender>
<species>Human</species>
<vocation>Merchant</vocation>
<level>5</level>
<health>24</health>
</character>
</characters>
查詢文件:Date.xquery
for $character in doc('characters.xml')//character
order by $character/name descending
return
<dateReport>
{$character/name}
</dateReport>
(: Stylus Studio meta-information - (c)1998-2003. Sonic Software Corporation. All rights reserved.
<metaInformation>
<scenarios/><MapperInfo><TargetSchema SchemaFilePath="" SchemaRoot="" AssociatedInstance=""/></MapperInfo>
</metaInformation>
:)
在命令提示下,輸入:
set classpath=d:\saxon\saxon8.jar (saxon8.jar所在文件夾)
java net.sf.saxon.Query -s characters.xml Date.xquery
ok!
看結(jié)果吧!
D:\xml>java net.sf.saxon.Query -s characters.xml Date.xquery
<?xml version="1.0" encoding="UTF-8"?>
<dateReport>
<name>Sheira</name>
</dateReport>
<dateReport>
<name>Shar</name>
</dateReport>
<dateReport>
<name>Paccu</name>
</dateReport>
<dateReport>
<name>Horukkan</name>
</dateReport>
<dateReport>
<name>Gounna</name>
</dateReport>
<dateReport>
<name>Gite</name>
</dateReport>
<dateReport>
<name>Drue</name>
</dateReport>
<dateReport>
<name>Aleria</name>
</dateReport>