У меня есть простой пакет ssis, который сохраняет результат метода веб-службы в файл XML. Соединение в порядке, файл создается, но содержит теги <
и >
вместо <
и >
.
Задача веб-службы SSIS возвращает файл с символами , /Value.
comment
Вы можете добавить больше деталей? можно скриншот пакета
- person Hadi   schedule 08.04.2017
Ответы (2)
Основная проблема заключается в том, что вы передаете xml из веб-службы в виде строки (не рекомендуется)
вам нужно изменить веб-метод, чтобы он возвращал XmlDocument
, загружал в него правильно сформированный xml и передал его обратно SSIS.
Или вы можете сделать небольшой обходной путь: запустить скрипт после сохранения файла xml и заменить <
на <
и >
на >
Полезные ссылки
- Декодировать XML, возвращенный веб-службой (‹ и › заменены на и >)?
- Как декодировать строку в строку XML в C#
- Почему мои теги ‹br /› преобразуются в br /?
- SSIS 2005 искажает входной XML из веб-службы
person
Hadi
schedule
08.04.2017
Спасибо, Хади, мне интересен этот метод: stackoverflow.com/questions/5006020/ . Было бы здорово, если бы вы могли привести какой-нибудь пример здесь.
- person Key; 08.04.2017
Тоже один из вариантов
Dim fileFirst As String = Dts.Variables("User::FullFilePath").Value.ToString()
File.WriteAllText(fileFirst, File.ReadAllText(fileFirst).Replace("<", "<"))
Dim fileSecond As String = Dts.Variables("User::FullFilePath").Value.ToString()
File.WriteAllText(fileSecond, File.ReadAllText(fileSecond).Replace(">", ">"))
Dim fileThird As String = Dts.Variables("User::FullFilePath").Value.ToString()
File.WriteAllText(fileThird, File.ReadAllText(fileThird).Replace("&", "&"))
Dim fileFour As String = Dts.Variables("User::FullFilePath").Value.ToString()
File.WriteAllText(fileFour, File.ReadAllText(fileFour).Replace(""", "\"))
Dim fileFive As String = Dts.Variables("User::FullFilePath").Value.ToString()
File.WriteAllText(fileFive, File.ReadAllText(fileFive).Replace("'", "'"))
используя задачу сценария -> VB
person
Key
schedule
08.04.2017