【发布时间】:2017-11-09 19:51:31
【问题描述】:
救命!
我有一个由 WinSCP 生成的 XML 日志文件,我想根据它的内容触发警报。我无法控制 XML 的格式。
我正在尝试使用 xQuery 读取值,但没有运气。我得到的只是 0 行的列标题。我也尝试过 OPENXML 和 VBA ImportXML,但是这两种方法都返回空值。
DECLARE @XML XML =
'<?xml version="1.0" encoding="UTF-8"?>
<session xmlns="http://winscp.net/schema/session/1.0" name="ftpuser@ftphost.com" start="2017-11-09T18:00:09.051Z">
<upload>
<filename value="e:\MyUploadFile.txt" />
<destination value="/HostFolder/MyUploadFile.txt" />
<result success="true" />
</upload>
<touch>
<filename value="/HostFolder/MyUploadFile.txt" />
<modification value="2017-11-09T18:00:08.000Z" />
<result success="true" />
</touch>
</session>
'
SELECT
Sess.Upload.value('../filename[1]','varchar(250)') [Filename]
,Sess.Upload.value('../destination[1]','varchar(250)') [Destination]
,Sess.Upload.value('../result[1]','varchar(250)') [Result]
FROM
@XML.nodes ('/session/upload') AS Sess(Upload)
【问题讨论】:
标签: sql xml tsql xquery winscp