标签: xquery

XPath/XQuery:在节点中查找文本,但忽略特定后代元素的内容

我试图找到一种方法来搜索节点内的字符串,但不包括那些节点的某些子元素的内容.简单明了,我想在文本的段落中搜索一个字符串,不包括作为段落的子元素的脚注.

例如,

我的文件是:

<document>
   <p n="1">My text starts here/</p>
   <p n="2">Then it goes on there<footnote>It's not a very long text!</footnote></p>
</document>
Run Code Online (Sandbox Code Playgroud)

当我在搜索"text"时,我希望Xpath / XQuery检索第一个p元素,而不是第二个p元素(其中"text"仅包含在脚注子元素中).

我试过了这个contains()函数,但它检索了两个p元素.

任何帮助将非常感激 :)

xpath xquery

12
推荐指数
1
解决办法
1万
查看次数

如何使用XQuery获取XML文件中的子节点数

我想<recROw></recROw>使用XQUERY 获取或返回xml文件中item()的数量.在XQuery中有一种简单的方法吗?

这是我的示例XML数据:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<DailyRecord>
  <recROw>
    <id>1</id>
    <name>John Smith</name>
    <gender>male</gender>
    <status>active</status>
  </recROw>
  <recROw>
    <id>2</id>
    <name>James Bond</name>
    <gender>male</gender>
    <status>active</status>
  </recROw>
<DailyRecord>
Run Code Online (Sandbox Code Playgroud)

任何帮助和想法将不胜感激.先感谢您!

java xml xquery

12
推荐指数
1
解决办法
5968
查看次数

SQL服务器中的XQuery执行SUM超过零值

我正在尝试提取存储在一些格式不合理的xml列中的货币总和(没有为XML列定义的架构,我猜这是问题的一部分).每当遇到一个0为其值的节点时,我都会收到转换错误.

例:

select xml.value('sum(/List/value)', 'numeric') sum
from (select cast('<List><value>1</value><value>2</value></List>' as xml) xml) a
Run Code Online (Sandbox Code Playgroud)

给出总和3时:

select xml.value('sum(/List/value)', 'numeric') sum
from (select cast('<List><value>0</value><value>0</value></List>' as xml) xml) a
Run Code Online (Sandbox Code Playgroud)

引发错误:"将数据类型nvarchar转换为数字时出错."

在总结一个零值节点列表时,我知道如何让我的查询返回0?

xml t-sql sql-server xquery

11
推荐指数
2
解决办法
3630
查看次数

用PHP执行XQuery

如何在PHP中执行XQuery?能给我举个例子?

谢谢.

php xquery

11
推荐指数
3
解决办法
2万
查看次数

调试XQuery程序

一开始,我写了一个小小的XQuery脚本,专门用于完成一项小任务.现在它发现这个XQuery脚本不完整,我必须解决它.问题是,我的XQuery演变成一个程序,而XQuery是一个痛苦的调试.我需要的东西是:

在命令行中打印一些内容以检查程序当时是否具有正确的节点.

一个调试工具,显示存储的变量

debugging xquery

11
推荐指数
1
解决办法
5568
查看次数

有没有什么方法可以让XQuery从一些Epoch开始以毫秒为单位获取当前时间?

XQuery提供各种date/time功能current-dateTime(),但是我似乎无法找到一个能让我在Epoch之后以毫秒为单位的时间.提取小时,分钟和秒的功能似乎过于单独存在.

获得大纪元时间(即unix时间或类似时间)的正确方法是什么XQuery

xpath xquery

11
推荐指数
2
解决办法
2万
查看次数

如何从SQL Server获取ROOT节点名称

我有一个表,IDintegerXMLXML数据类型.

ID   XML
----------------------
1    <Form1>...</Form1>
2    <Form1>...</Form1>
3    <Form2>...</Form2>
4    <Form3>...</Form3>
Run Code Online (Sandbox Code Playgroud)

我如何得到以下结果?

ID   XML
-------------
1    Form1
2    Form1
3    Form2
4    Form3
Run Code Online (Sandbox Code Playgroud)

xml sql-server xpath xquery

11
推荐指数
1
解决办法
1万
查看次数

使用XPath/XQuery在XML列上过滤SQL查询

我有一个包含一个XML列的表.我想过滤掉XML中特定属性与字符串匹配的行,基本上是执行WHERE或HAVING.

该表看起来像这样

| id | xml |
Run Code Online (Sandbox Code Playgroud)

和XML类似的东西

<xml>
  <info name="Foo">
    <data .../>
  </info>
<xml>
Run Code Online (Sandbox Code Playgroud)

我想得到@name属性与值匹配的所有ID.

我能够做到以下几点:

SELECT id, xml.query('data(/xml/info/@name)') as Value
FROM Table1
WHERE CAST(xml.query('data(/xml/info/@name)') as varchar(1024)) = @match
Run Code Online (Sandbox Code Playgroud)

但它非常缓慢.

必须有一种更好的方法来过滤查询的输出.

sql xpath xquery

10
推荐指数
1
解决办法
2万
查看次数

使用distinct-values时的XQuery()

XML文件

<Cities>
  <Place>
    <City n="New Delhi"></City>
    <City n="Chandigarh"></City>
    <City n="Mumbai"></City>
  </Place>
  <Place>
    <City n="New Delhi"></City>
    <City n="Chandigarh"></City>
  </Place>
  <Place>
    <City n="New Delhi"></City>
    <City n="Mumbai"></City>
  </Place>
</Cities>
Run Code Online (Sandbox Code Playgroud)

我正在使用以下XQuery -

for $x in doc("sample")/Cities/Place/City
   order by $x/@n
   return distinct-values($x/@n)
Run Code Online (Sandbox Code Playgroud)

我期待的结果是 - Chandigarh Mumbai New Delhi

但得到 - Chandigarh Chandigarh Mumbai Mumbai New Delhi New Delhi New Delhi

请告诉我哪里出错了?

xml xpath xquery

10
推荐指数
2
解决办法
2万
查看次数

在Marklogic数据库中存储名称/值对的最有效方法是什么

我的应用程序经常需要使用查找来修饰它所服务的文档中的值,以获取各种代码的可读形式.

例如<product_code>PC001</product_code>,希望被返回为<product_code code='PC001'>Widgets</product_code>.它并不总是product_code; 有一些不同类型的代码需要类似的行为(其中一些只有几十个例子,其中一些只有几千个.)

我想知道的是在数据库中存储数据的最有效方法是什么?我可以想到两种可能性:

1)每个代码类型一个文档,包含许多元素:

<product-codes>
  <product-code code = "PC001">Widgets</product-code>
  <product-code code = "PC002">Wodgets</product-code>
  <product-code code = "PC003">Wudgets</product-code>
</product-codes>
Run Code Online (Sandbox Code Playgroud)

2)每个代码一个文档,每个文档包含一个<product-code>如上所述的元素.

(显然,两种选择都包括合理的指数)

这些中的任何一个明显比另一个快吗?还有另一种更好的选择吗?

我的感觉是,每个文档保留一个"东西"通常会更好,因为它在概念上稍微清晰一些(我理解)更适合ML的索引,但在这种情况下,它似乎会导致非常大量的非常小的文件.那是我应该担心的吗?

xml xquery marklogic

10
推荐指数
2
解决办法
361
查看次数

标签 统计

xquery ×10

xml ×5

xpath ×5

sql-server ×2

debugging ×1

java ×1

marklogic ×1

php ×1

sql ×1

t-sql ×1