【问题标题】:Is there any XMLStream reader in xquery?xquery 中有 XMLStream 阅读器吗?
【发布时间】:2019-03-25 07:54:37
【问题描述】:

我想在 xquery (MarkLogic DB) 中顺序读取 XML 以识别开始和结束标记。 xquery 中是否有可用的流阅读器,例如 Java 的 XMLStreamReader

【问题讨论】:

  • 不,没有:XQuery 工作在由 XML 解析器构建的数据树模型上,而不是在原始词汇 XML 源上工作。但是,如果您解释了您实际想要达到的目标,那么我相信我们可以帮助您找到方法。
  • 我的目标是找到所有的开始和结束元素。当我遇到一个开始元素时,我有一些逻辑要做,结束元素也是如此。
  • 如果你的意思是开始和结束标签,那么这是一个非首发。 XQuery 看不到标签,它看到的是节点。

标签: xquery marklogic


【解决方案1】:

欢迎灰,

在 XQuery 中,没有与 java XMLStreamReader 中相同的功能。 XQuery 中的 DOC() 函数,读取 xml doc 但不自动顺序读取,为此,您需要使用以下 Query:

    let $result :=
       for $x in fn:doc()
        let $first-element :=name($x/*/*[1])
        let $last-element  :=name($x/*/*[last()])
           return fn:concat("First Element: ", "'", $first-element, "'", " Second element: ", "'", $last-element, "'")
    return $result

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-27
    • 2016-02-14
    • 1970-01-01
    相关资源
    最近更新 更多