【问题标题】:Find attribute with Xquery in OSB project (using eclipse)在 OSB 项目中使用 Xquery 查找属性(使用 eclipse)
【发布时间】:2015-05-15 19:58:32
【问题描述】:

这是 Eclipse 中的一个 OSB 项目。

在 OSB 进程的长链中,我有以下 XML 片段,存储在 $xdata 中:

<RECORDS xmlns="url1" xmlns:xsi="url2" xmlns:schemaLocation="url3" ver="v7">
...
</RECORDS>

我想查找属性ver 的值。 我在 OSB 分配节点中创建了以下 xquery 以获取属性:

$xdata/occ:RECORDS/@ver

(我在分配对话框的命名空间部分创建了一个命名空间 url3,称为 occ。) Assign 的目的当然是为了捕获“ver”属性。

然而,它什么也没得到,结果甚至$xdata/occ:RECORDS 也不起作用,它没有给出 XML 的 RECORDS 节点,它什么也没给出。 唯一正确的部分是 $xdata,它给出了 XML 内容,我检查了服务器日志。

我怀疑我的问题出在命名空间上,因为我对此不太自信。

【问题讨论】:

  • 请说明你是如何注册occ命名空间的。
  • 如果你想要RECORDS,为什么要ROWS?我的意思是,为什么不occ:RECORDS
  • 谢谢,har07,我更正了,这只是我发布问题时的错误。所以这是记录
  • Jens,我只是在 Prefix 字段中写了 occ,在 URI 中写了 url4。
  • 我将 url3 命名为 occ,因为有人告诉我这应该是正确的,但还是不行。

标签: xml eclipse xquery osb


【解决方案1】:

解决方案出乎意料。 当引用 $body 以外的变量中的元素时,您显然必须省略包含所需元素的顶部父节点。在这种情况下,您必须省略 RECORDS。所以获取属性的方法是: $xdata/@ver

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-19
    • 2012-06-18
    • 2015-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-13
    • 1970-01-01
    相关资源
    最近更新 更多