我正在使用XQuery处理器Saxon.
现在我们在一个".xqy"文件中编写我们的XQuery,我们将在其中引用我们将在其上执行XQuery的XML文件.
请看下面的例子:
for $x in doc("books.xml")/books/book
where $x/price>30
return $x/title
Run Code Online (Sandbox Code Playgroud)
现在我想使用动态生成的XML而不是存储在某个路径中.比方说,我想在下面引用可用作字符串的XML.
怎么做?
String book=
<books>
<book category="JAVA">
<title lang="en">Learn Java in 24 Hours</title>
<author>Robert</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="DOTNET">
<title lang="en">Learn .Net in 24 hours</title>
<author>Peter</author>
<year>2011</year>
<price>40.50</price>
</book>
<book category="XML">
<title lang="en">Learn XQuery in 24 hours</title>
<author>Robert</author>
<author>Peter</author>
<year>2013</year>
<price>50.00</price>
</book>
<book category="XML">
<title lang="en">Learn XPath in 24 hours</title>
<author>Jay Ban</author>
<year>2010</year>
<price>16.50</price>
</book>
</books>
Run Code Online (Sandbox Code Playgroud)
Java代码:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import javax.xml.xquery.XQConnection;
import javax.xml.xquery.XQDataSource; …Run Code Online (Sandbox Code Playgroud)