【问题标题】:how namespaces can be read from xml file using xquery如何使用 xquery 从 xml 文件中读取命名空间
【发布时间】:2010-07-22 19:05:47
【问题描述】:

我正在使用 xquery 读取 Office 2007 文档的 XML 文件。在这些文件中,还包括命名空间。我需要检索命名空间的节点。我编写了 xquery 来获取数据,如果我从源 XML 文件中删除命名空间,否则 xquery 结果集为空,它工作正常。想知道如何使用 xquery 1.0 从 xml 源文件中读取名称空间和值。 (我不确定 xquery 1.0 是否支持命名空间,我是否也必须在 DTD 中定义命名空间,以便通过从多个 xml 文件中读取数据来创建自定义输出 xml 文件。

【问题讨论】:

    标签: xml namespaces xsd xquery


    【解决方案1】:

    尝试在 XQuery prolog 中定义默认命名空间:

    declare default element namespace "<namespace-name>";

    例子:

    declare default element namespace "http://somewhere.com/foo";

    您还可以声明其他命名空间,以便在查询中使用它们:

    declare namespace <prefix> = "<namespace-name>";

    例子:

    declare namespace foo = "http://somewhere.com/foo";

    【讨论】:

    • 我猜问题是 - 从指定的 Xml 读取 Xml 命名空间。什么是命名空间 xml 使用。一种自省,而不是如何使用或获取基于命名空间的 Xml。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    • 2021-08-23
    • 1970-01-01
    • 1970-01-01
    • 2013-06-07
    • 2015-07-28
    相关资源
    最近更新 更多