Я хотел бы удалить тег пароля из строки XML SOAP в SQL Server 2012, здесь тег содержит динамическое пространство имен (xmlns).Поэтому не удалось заменить или найти правильную точную позицию начального индекса пароля.
Пример тега необходимо заменить
<wsse:Password Type="..."> ... </wsse:Password>
здесь wsse - это пространство имен XML, которое будет другимв каждом ряду.Примечание: здесь я не могу использовать переменную XML, потому что этот столбец содержит недопустимую строку XML. Любой, пожалуйста, помогите мне найти индекс использования patindex.Я попытался найти по шаблону "% <%: Password%", но индекс его предоставления "<", который доступен в первом символе XML. </p>
DECLARE @SOAPMES varchar(max)
SET @SOAPMES = ''
SET @SOAPMES = @SOAPMES + '<wsse:UsernameToken wsu:Id="Example-1">'
SET @SOAPMES = @SOAPMES + ' <wsse:Username> ... </wsse:Username>'
SET @SOAPMES = @SOAPMES + ' <wsse:Password Type="..."> ... </wsse:Password>'
SET @SOAPMES = @SOAPMES + ' <wsse:Nonce EncodingType="..."> ... </wsse:Nonce>'
SET @SOAPMES = @SOAPMES + ' <wsu:Created> ... </wsu:Created>'
SET @SOAPMES = @SOAPMES + '</wsse:UsernameToken>'
SELECT PATINDEX('%<%:Password%',@SOAPMES)
найти точное положение