xquery select 关于时间或日期的请求
xquery select request regarding time or date
我想问一下如何才能 select 使用 xquery
只有满足一些时间限制的节点
例如我有这个xml
<SensorList>
<Sensor>
<SensorID>1</SensorID>
<SensorFeature>vox</SensorFeature>
<SensorTime>20:45:00</SensorTime>
</Sensor>
<Sensor>
<SensorID>4</SensorID>
<SensorFeature>vox</SensorFeature>
<SensorTime>14:00:00</SensorTime>
</Sensor>
<Sensor>
<SensorID>2</SensorID>
<SensorFeature>ax</SensorFeature>
<SensorTime>12:00:00</SensorTime>
</Sensor>
</SensorList>
我只想 select 传感器时间值大于 15:00:00 的传感器节点
那可能吗
如果时间阈值对应于 sensortime 变量,命令将是这样的吗?
doc('vagelisdb/CIDEM.xml')/SensorList/Sensor/SensorTime[SensorTime>'15:00:00']
假设您的传感器时间是有效的 xs:time
数据类型,那么您需要像这样调整您的 XPath:
doc('vagelisdb/CIDEM.xml')/SensorList/Sensor[xs:time(SensorTime) gt xs:time("15:00:00")]
这将 select sensor
个符合您的时间条件的节点。请注意,在您的示例中,您有 /SensorTime[SensorTime
这意味着元素 SensorTime
有一个也称为 SensorTime
的子元素;这与您的示例 XML.
不符
如果你想比较时间,那么你需要 xs:time
构造函数(或强制转换),这样它们就不会作为字符串进行比较。
我想问一下如何才能 select 使用 xquery
只有满足一些时间限制的节点例如我有这个xml
<SensorList>
<Sensor>
<SensorID>1</SensorID>
<SensorFeature>vox</SensorFeature>
<SensorTime>20:45:00</SensorTime>
</Sensor>
<Sensor>
<SensorID>4</SensorID>
<SensorFeature>vox</SensorFeature>
<SensorTime>14:00:00</SensorTime>
</Sensor>
<Sensor>
<SensorID>2</SensorID>
<SensorFeature>ax</SensorFeature>
<SensorTime>12:00:00</SensorTime>
</Sensor>
</SensorList>
我只想 select 传感器时间值大于 15:00:00 的传感器节点 那可能吗 如果时间阈值对应于 sensortime 变量,命令将是这样的吗?
doc('vagelisdb/CIDEM.xml')/SensorList/Sensor/SensorTime[SensorTime>'15:00:00']
假设您的传感器时间是有效的 xs:time
数据类型,那么您需要像这样调整您的 XPath:
doc('vagelisdb/CIDEM.xml')/SensorList/Sensor[xs:time(SensorTime) gt xs:time("15:00:00")]
这将 select sensor
个符合您的时间条件的节点。请注意,在您的示例中,您有 /SensorTime[SensorTime
这意味着元素 SensorTime
有一个也称为 SensorTime
的子元素;这与您的示例 XML.
如果你想比较时间,那么你需要 xs:time
构造函数(或强制转换),这样它们就不会作为字符串进行比较。