问题标签 [xmlindex]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
248 浏览

xml - 删除 XMLIndex 组和参数

我用这个命令为 XMLIndex 创建了结构化部分。

XXX - 是参数名 YYY - 是组名

我现在不记得 XXX 和 YYY 的名称,也不能删除组和相应的参数。

问:如何列出为 XMLIndex 注册的所有参数?

0 投票
0 回答
226 浏览

oracle - 对于 Oracle XML 表,XQuery 选择是否使用 XmlIndexes?

我正在尝试从在 oracle 中存储为二进制 xml 的一些结构化 xml 中检索密钥和父密钥。我尝试过创建非结构化索引以及带有结构化组件的索引。对 XMLTABLE() 执行 SELECT 时,结构化组件工作正常,但我无法使用 XMLTable 检索父节点的值。因此,我尝试使用以下 Xquery 来检索父值,但这根本不使用索引。这种查询方式是否支持使用 XmlIndexes?我在文档中找不到任何说这两种方式的东西。

谢谢,汤姆

0 投票
1 回答
1886 浏览

oracle - Oracle xmltype 列,创建包含以下路径的 xmlindex

我需要在 xmltype 列上创建一个 xmlindex,系统是 Oracle 11g。我正在使用的代码是:

收到的错误是:
SQL 错误

提交失败:ORA-29958:执行 ODCIINDEXCREATE 例程时发生致命错误 ORA-30968:XML 索引的 XPATH 或 NAMESPACE 选项无效

XML 文件如下。我尝试将“/variable-set/variable[@class="nbTempSensor"]/double-val" 作为路径参数,因为我们在视图中成功地使用了它来检索 nbTempSensor 值。你能说出路径的正确语法是什么吗?预先感谢您的帮助。

0 投票
1 回答
5516 浏览

oracle - 基于xml属性的Oracle xmltype列索引

我正在为 xmltype 列使用结构化存储类型。我正在尝试在属性上创建索引,但不知何故,Oracle 没有获取索引并进行全表扫描。我已经检查了http://docs.oracle.com/cd/B28359_01/appdev.111/b28369/xdb_indexing.htm#CHDCJIJB上的文档,但它没有给出在属性上创建索引的示例。有人可以给我一个在属性上创建 xml 索引的例子吗?

谢谢凯文

0 投票
1 回答
94 浏览

xml - 结构化 XMLIndex 在创建时给出错误

我有一个表,其中一列作为 XMLTYPE 与对象关系存储一起存储。下面是表 ddl。

我已成功注册架构以使用 XML DB 加载 XSD。下面是加载到 XMLTYPE 列中的 XML。

此 XML 包含 Node2 Orderattr 的大约 2500 个值。我正在使用以下查询使用 XMLTABLE 一次性打印出所有 Node2 值。

输出:-

现在我想将我的结果集限制为仅前 25 个 Node2 Orderattr 值,而不是整个集合。我应该如何将结果集限制为仅前 25 个节点值。

能够使用 XMLTable 获取它。

我尝试使用 XMLQuery 函数来实现与上述相同的输出,但接收到截断的输出。

输出:- Node2_Child1Node2_Child1_OrderValue_1Node2_Child2Node2_Child2_OrderValue_1Node2_Child3Node2_Child3_OrderValue_1Node2_Child4Node2_Child4_OrderValue_1Node2_Child5Node2_Child5_OrderValue_1........Node2_Child25Node2_Child25_OrderValue_1

谢谢...

0 投票
1 回答
1425 浏览

c# - 将 XML(带索引的数组)解析为列表

I have following XML File:

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3RecordDocument>
    <header type="array">
        <charset>utf-8</charset>
  

I have following XML File:

And I am currently parsing it with following code:

It's working, but maybe there is a more simpler and faster way to achieve what I want. Maybe something like this:

This code isn't working because the element's attribute is index="XXXXXX" and not XXXXXX, maybe someone can lead me into the right direction.


Join tables (1:n) with considering two records from the second table

I have two tables named letter and letter_person like this :

letter :

and letter_person :

role is an enum field and can be sender or receiver

i want to select letters which are sent and received between two persons, i want something like this :

But it's not exactly what i need.

This query selects all the letters which are sent by person1 + all the letters which are received by person2.

I need to get the conversation.

0 投票
0 回答
560 浏览

sql-server - MSSQL XML 索引大小

有人可以告诉我是否有任何 sys 表,我可以在其中找到有关 SQL Server 中 XML 索引(主要和次要)大小的信息?

到目前为止,我一直在使用这个脚本来检查索引的大小:

但似乎 xml 索引在创建时没有分配 partition_id。

而且我也没有在 msdn 上找到任何关于 sys 表或 dmv 的信息。

0 投票
1 回答
133 浏览

oracle - Oracle XMLIndex - 进行范围搜索

我将我的 xml 数据存储在 Oracle XMLType 列中,并且我希望能够对 xml 中的数字进行范围搜索。

我想甲骨文支持这种操作,但谷歌搜索并没有帮助我。我应该如何创建 XMLIndex 和范围搜索查询?

示例表:

示例数据:

0 投票
0 回答
116 浏览

tsql - 我应该选择哪个 XML 索引?

我必须在我的 XML 类型列中搜索邮政编码。我在我的表上创建了一个主 XML 索引。

我正在关注这篇文章以了解这些概念。

我的查询看起来像这样

@Postcode 是输入参数,用户可以输入完整或部分邮政编码

现在根据链接,

如果您的工作负载在 XML 列上大量使用路径表达式,则 PATH 二级 XML 索引可能会加快您的工作负载。最常见的情况是在Transact-SQL 的 WHERE 子句中对 XML 列使用 exists() 方法。

但后来我对以下陈述有点困惑

如果您的工作负载使用路径表达式从单个 XML 实例中检索多个值,则在 PROPERTY 索引中的每个 XML 实例中聚类路径可能会有所帮助。此场景通常发生在属性包场景中,此时已获取对象的属性并且其主键值已知。

exist()在我的子句中使用方法,where但我返回多条记录。

我很困惑我应该根据我的查询创建哪个二级索引。我更倾向于房地产指数。

我可以创建所有 3 个并让 SQL 处理选择哪一个吗?这会增加节点表的大小并妨碍数据库的速度吗?

我的部分 XML 看起来像这样

更新

我做了更多的挖掘工作,然后与我的高级 DBA 朋友聊天,他建议我创建一个 PATH 索引。查询似乎比以前更快。

0 投票
2 回答
4643 浏览

xml - DB2 上的 SQL 查询。包含 XML 列上的函数

我的test表有两列,一列是message_xmltype XML,另一列是company_namestype VARCHAR。我想在每个 XML 行中搜索一个单词,如果 XML 有它,则导出该 XML。

下面是存储在 DB2 中的 2 个 xml 示例:

在这些 XML 文档中,我想找到单词“bacon”(它可以在 XML 中的任何位置),然后将该 XML 导出到文本文件中。

我尝试CONTAINS通过首先将 XML 转换为字符串来使用,但我收到关于VARCHAR.

xmlcast(test.message_xml as varchar(255)) as export_XML是我编写的将 XML 转换为字符串的代码

[错误代码:-16061,SQL 状态:10608] 值“429541527005540133404021548131000109999-12-312...”不能构造为数据类型“VARCHAR_255”或强制转换(使用隐式或显式强制转换)。错误 QName=err:FORG0001.. SQLCODE=-16061, SQLSTATE=10608, DRIVER=4.15.82

接下来我直接尝试使用CONTAINS,但我收到有关未找到文本索引的错误。所以,我试图创建一个索引,但我也得到了一个错误,错误读取

“在 "L) as (create index" 之后发现了一个意外的标记 "idx1"。预期的标记可能包括:"JOIN""

对于代码:在 test(message_xml) 上创建索引 idx1 使用 xmlpattern '/XML' as varchar(9999) 生成密钥

我的代码是:

在没有创建索引的情况下使用上面的代码,我得到了这个错误:

[错误代码:-443,SQL 状态:38799] 例程“*RCH_8K64”(特定名称“”)返回了错误 SQLSTATE,诊断文本为“CTE0199 没有对应于列“MESSAGE_XML”的文本索引。SQLCODE=-443, SQLSTATE=38799,驱动程序=4.15.82

我什至尝试使用LOCATE, CONVERTCAST但没有用。有人可以帮我解决这个问题吗?

我认为解决方案可能是将 XML 转换为字符串并为 xml 列应用CONTAINSLOCATE创建索引。如果我错了,请纠正我。