【发布时间】:2015-08-05 00:40:50
【问题描述】:
我正在尝试解析一些已放入列中的 XML。为简化起见,我将 XML 直接放入变量中,并尝试在此处进行解析。
Declare @XMLToParse XML
SELECT @XMLToParse = '<?xml version="1.0" encoding="UTF-8"?>
<atn:Transaction xmlns:atn="http://www.agcs.com/Transaction/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.agcs.com/Transaction/cosmos.xsd">
<name>AIRW0043</name>
<address>654577</address>
</atn:Transaction>'
;WITH XMLNAMESPACES(DEFAULT 'http://www.agcs.com/Transaction/cosmos.xsd',
'http://www.agcs.com/Transaction/' as atn)
Select @XMLToParse.value('data(/atn:Transaction/name)[1]','VARCHAR(100)') namecode
, @XMLToParse.value('data(/atn:Transaction/address[1]','VARCHAR(100)') addresscode
两个值(namecode 和 addresscode)我都得到了 null。我应该得到namecode 中的name 值和addresscode 中的address 值。
【问题讨论】:
标签: sql sql-server xml parsing namespaces