0
嗨,我有以下SQL來嘗試解析xml並提取「OrderNumber」。我遇到的問題是這個XML(我無法控制)有一個奇怪的XML命名空間。我只是爲了這個例子把它改成了abc.com,但是它是其他的東西。無論如何,當該名稱空間存在時,T-SQL將在結果中返回空值。所以它不能很好地與命名空間搭配。如果我手動刪除名稱空間或者通過T-SQL進行搜索和替換,它就可以正常工作。我想我可以做一個搜索和替換,但該解決方案只是困擾我。想知道是否有其他人對此有更好的解決方法?也許是爲什麼它不喜歡命名空間的解釋?真的很感謝一些建議。謝謝!使用錯誤的xml命名空間解析SQL
Declare @Transmission xml
set @Transmission = '<Transmission>
<Requests>
<SubmitOrdersRequest>
<Orders>
<Order xmlns="http://www.abc.com">
<OrderNumber>123</OrderNumber>
</Order>
</Orders>
</SubmitOrdersRequest>
</Requests>
</Transmission>'
select @Transmission.value('(Transmission/Requests/SubmitOrdersRequest/Orders/Order/OrderNumber/text())[1]', 'varchar(100)')