Mam XML jak:T-SQL XML uzyskać wartość z problemu węzła?
<?xml version="1.0" encoding="utf-16"?>
<ExportProjectDetailsMessage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Project">
<CPProjectId>7665699f-6772-424c-8b7b-405b9220a8e7</CPProjectId>
</ExportProjectDetailsMessage>
Próbuję uzyskać CPProjectId jako uniqueidentifier używając:
DECLARE @myDoc xml
DECLARE @ProdID varchar(max)
SET @myDoc = '<ExportProjectDetailsMessage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Project"><CPProjectId>7665699f-6772-424c-8b7b-405b9220a8e7</CPProjectId></ExportProjectDetailsMessage>'
SET @ProdID = @myDoc.value('(ExportProjectDetailsMessage/CPProjectId)[1]', 'varchar(max)')
SELECT @ProdID
Wszystko mogę otrzymać NULL =/ Próbowałem wielu kombinacji na @ myDoc.value, ale bez wyników =/
Jak mogę pobrać wartość z mojego XML?
Dzięki!
--EDIT: Coś, co zauważyłem, kiedy usunę deklarację przestrzeni nazw z pliku XML, to działa dobrze! Problem polega na tym, że potrzebuję tych przestrzeni nazw! =/
Patrz: http://stackoverflow.com/questions/4081906/sql-server-xml-namespace-querying-problem Sztuką jest „przestrzeni nazw”, a następnie za pomocą „NS” Formularz. –