【问题标题】:store xquery result value in a jscript variable将 xquery 结果值存储在 jscript 变量中
【发布时间】:2013-04-16 21:27:57
【问题描述】:

您好,这是我的问题: 我有一个包含在如下变量中的 xml:

<channel>
<available>yes</available>
<label>CNN</label>
</channel>
<channel>
<available>yes</available>
<label>BBC</label>
</channel>
....

我想使用 xquery 使用以下条件获取值:

For Channels.Channel

where Channel/availability = yes

And Channels.Channel/Label = «CNN»

Return  EXIST(Channels.Channel/Id)

我的问题是:如何执行 xquery 以返回此 ID 值并将结果存储在我以后可以使用并传递给其他系统的 javascript 变量中。如果不可能,请告诉我您将如何在此 xml 中获取变量

谢谢。

【问题讨论】:

    标签: javascript xml xquery


    【解决方案1】:

    我对您的示例有点困惑,但从表面上看,我认为这将返回所有 ID 值。

    for $channel in $channels/channel
    where ($channel/available = 'yes' and $channels/channel/label = 'CNN')
    return $channel/id
    

    要与其他系统通信,您可以创建一个 JSON 网络服务并将其返回给您的 JavaScript。

    【讨论】:

    • 对不起,我不太熟悉 xquery 能做什么和不能做什么。据我了解,它主要是显示和格式化 xml 到 html 页面。一旦我得到返回 $channel/id 我如何捕获这个 id 变量并以我可以将它返回到 javascript 的方式操作它
    • 这真的取决于您所说的“将其返回给 Javascript”是什么意思。您是否打算从 JS 进行 AJAX 调用来检索这些数据?你是在 XQY 中动态生成 JS 吗?您的应用程序应该如何工作?
    • 这就是流程。我需要通过 POST 接收的 xml 变量中的数据。可以使用之前的 xquery 代码找到此数据,例如 for $channel in $channels/channel where ($channel/available = 'yes' and $channels/channel/label = 'CNN') return $channel/id。然后我想要的是使用此 ID 值将其作为参数传递给我的一个 javascript 函数,以使用此值进行一些其他处理
    • 你可能需要换个思路,因为你可以通过webservice+AJAX从JS调用XQY;但是,从 XQY 调用 JS 是不可能的。您可以通过 1) 在 XQY 中动态生成 JS,并将 FLWOR 的结果分配给 JS 变量来实现这一点,或者 2) 在 JS 中进行 AJAX 调用以通过 web 服务检索值,然后从那里开始。跨度>
    • 如何从 xquery 任何示例中动态生成 js?
    猜你喜欢
    • 1970-01-01
    • 2021-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多