2010-10-07 40 views
0

我想使用saxon進行xpath查詢,但我不知道要加載多個xml文件。如何使用saxon加載多個xml文件

我試圖使用撒克遜從Windows命令行

我撒克遜手冊中讀到,我可以用命令:

Query.exe -s:myDataFile.xml -q: myQueryFile -o:myOutputFile

,但我不知道如何加載多個XML文件,而不僅僅是一個

編輯: 我甲肝e很多xml文件myDataFile1.xml,myDataFile2.xml,myDataFile3.xml ...我想運行查詢以alla這些文件所以我想加載所有的所有文件,然後查詢它們(我不想查詢每一個單個文件,然後連接結果)

+0

你想通過多個來源運行查詢嗎? – 2010-10-07 14:42:06

+0

我有很多的XML文件 g1.xml g2.xml g3.xml ... ,我想運行查詢到阿拉這些文件 所以我要加載所有的所有文件,然後對它們進行查詢 (我不想查詢每個文件,然後連接結果) – Tony 2010-10-07 14:49:23

回答

6

使用標準XPath 2.0函數collection()

的具體撒克遜實施collection()的文檔here

您可以使用標準的XPath 2.x的collection()功能,as implemented in Saxon 9.x

撒克遜實現允許在函數的字符串-URI參數中使用的搜索模式,因此你可以在目錄的路徑後面指定任何以report_開頭的文件名的模式,然後再有另外兩個字符,然後以.xml結尾。

該XPath表達式:

collection('file:///c:/?select=report_*.xml') 

選擇駐留在c:\與名稱的文件開始report_然後具有0個或多個字符的每個XML文檔的文檔節點,然後以.xml結尾。