sql - 从多个属性选择的 XML 中读取
问题描述
如何Flow sensor="DUT" unit="adc" testpoint="1"
在 SQL Server 中查询此特定 XML 结果以获取下面的所有值?
<Phitrics>
<TestResults>
<ParametricData>
<CalibrationDiagnostic>
<Flow sensor="DUT" unit="adc" testpoint="0">0</Flow>
<Flow sensor="Cal" unit="L/min" testpoint="0">0.0</Flow>
<Flow sensor="DUT" unit="adc" testpoint="1">24</Flow>
<Flow sensor="Cal" unit="L/min" testpoint="1">1.9</Flow>
<Flow sensor="DUT" unit="adc" testpoint="2">41</Flow>
</CalibrationDiagnostic>
</ParametricData>
</TestResults>
</Phitrics>
我试过了;
SELECT XmlResults.value('data(/Phitrics/TestResults/ParametricData/CalibrationDiagnostic/Flow sensor="DUT" unit="adc" testpoint="1"/text())[1]', 'varchar(10)')
FROM table
但我收到以下错误:
XQuery [ResultsTbl.XmlResults.value()]: ',' or ')' 预期
不知道我在这里做错了什么,任何帮助将不胜感激!
解决方案
你错过了:
[]
属性匹配条件周围的方括号 ( )- 使用“@”前缀属性名称
- 分别添加每个匹配条件
select XmlResults.value('data(/Phitrics/TestResults/ParametricData/CalibrationDiagnostic/Flow[@sensor="DUT"][@unit="adc"][@testpoint="1"]/text())[1]', 'varchar(10)')
from Table
推荐阅读
- powerbi - Power Bi DAX:累积和未显示正确数据
- node.js - 可以使用 Heroku 上的流下载 TXT 文件,但无法下载 PDF 文件 - NodeJS、Heroku
- swift - 如何正确地将 ImagePicker 插入标题中的图像?SwiftUI
- realm - 从 webRTC 客户端为 coTurn 提供多个领域/来源
- python - 如何从循环中创建的多个条目小部件中获取输入?
- scala - 代码中的Scala Spark Task不可序列化错误
- sql-server - 在函数中执行动态 sql 的解决方法
- typescript - 类型“RefObject>”上不存在属性“getPickerData”
- authentication - 如何通过对主机的 LDAP 身份验证执行 Ansible 剧本?
- psychtoolbox - (心理工具箱帮助)根据键盘响应呈现刺激?