我試圖獲得節點值爲type
節點。它必須返回string
「my_type」,但返回空字符串。「srv_paramset中的錯誤」。在執行sp_OAGetProperty
declare @v_msg int
DECLARE @loadXML_result INT
declare @v_line varchar(4000)
declare @nodelist int
DECLARE @node INT
DECLARE @childnode INT
DECLARE @CHILDNODE_nodevalue VARCHAR(MAX)
set @v_line =
'<message>
<type>my_type</type>
</message>';
EXECUTE sp_OACreate 'MSXML2.DOMDocument.6.0',@v_msg OUTPUT
EXECUTE sp_OAMethod @v_msg,'loadXML',@loadXML_result OUTPUT,@v_line
EXECUTE sp_OAMethod @v_msg,'getElementsByTagName',@nodelist OUTPUT,'type'
EXECUTE sp_OAMethod @nodelist,'Item',@node OUTPUT,0
EXECUTE sp_OAGetProperty @node,'firstChild',@childnode OUTPUT
print concat('child_node ',@childnode)
EXECUTE sp_OAGetProperty @childnode,'nodeValue',@CHILDNODE_nodevalue OUTPUT
print concat ('CHILDNODE_nodevalue ',@CHILDNODE_nodevalue)
上的sp_OAGetProperty
執行的狀態進一步檢查顯示有錯誤:
DECLARE @hr INT
EXECUTE @hr = sp_OAGetProperty @node,'Text',@CHILDNODE_nodevalue OUTPUT
--Check status of the previous execution of sp_OAGetProperty
EXEC sp_OAGetErrorInfo @node
EXEC sp_OAGetErrorInfo @node
以上:
你就不能使用['XML'數據類型+'節點()'](HTTPS ://msdn.microsoft.com/en-us/library/ms188282.aspx)? – har07