小编Rah*_*ray的帖子

如何在Saxon中的XQuery中动态引用XML文件

我正在使用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)

java xml xquery saxon xqj

5
推荐指数
1
解决办法
2446
查看次数

从xml中获取数据使用Xquery,以函数开头

我想从xml中获取数据使用Xquery with functions with function.

data.xml中

              <data><employee id=\"1\"><name value=\"vA-12\">A</name> <title id=\"2\">Manager</title></employee>
                    <employee id=\"2\"><name value=\"vC-12\">C</name><title id=\"2\">Manager</title></employee>
                    <employee id=\"2\"><name value=\"vB-12\">B</name><title id=\"2\">Manager</title></employee>
             </data>
Run Code Online (Sandbox Code Playgroud)

现在我想获取具有employee @ id = title @ id且name @ value以'vC'开头的名称.

我已经为此写了这个xquery.请看下面但是得到错误 -

for $x in /data/employee where $x/@id=$x/title/@id and [fn:starts-with($x/name/@value,vC)] return data($x/name)
Run Code Online (Sandbox Code Playgroud)

这是错误 -

    Error on line 1 column 55 
  XPST0003 XQuery syntax error near #.../title/@id and [fn:starts-with#:
    Unexpected token "[" in path expression
net.sf.saxon.s9api.SaxonApiException: Unexpected token "[" in path expression
    at net.sf.saxon.s9api.XQueryCompiler.compile(XQueryCompiler.java:544)
    at Xml.process(Xml.java:46)
    at Xml.main(Xml.java:30)
Caused by: net.sf.saxon.trans.XPathException: Unexpected …
Run Code Online (Sandbox Code Playgroud)

java xml xquery

5
推荐指数
1
解决办法
309
查看次数

WebLogic 的默认调试端口是什么?

WebLogic默认运行端口是7001,那么默认调试端口是什么,还是与运行端口相同?

我已经在 上部署了一个应用程序WebLogic,现在我可以通过 url 访问它 - http://localhost:7001/myapp

现在我在Eclipse. 我需要在那里提供什么作为调试端口?

java eclipse debugging weblogic-10.x

3
推荐指数
1
解决办法
7567
查看次数

标签 统计

java ×3

xml ×2

xquery ×2

debugging ×1

eclipse ×1

saxon ×1

weblogic-10.x ×1

xqj ×1