Допустим нужно реализовать приложение которое будет накапливать информацию о курсах валют ежедневно в нашей БД.
Воспользуемся веб сервисом для получения ежедневных данных.
1.создаем задачу Web  Service
2.Настраиваем, соединение с WSDL файлом
3.Создаем локальный WSDL  файл  и жмем кнопку DOWNLOAD   WSDL
4.Выбираем нужный нам метод
5. Настраиваем файл результатов xml
Итак мы получили данные  от веб сервиса в виде   xml файла, теперь немного теории   XML
Для правильно чтения  XML  файла должен быть определен  XSD  файл, описывающий его структуру.
При использовании  XSD  файлов XML парсер может проверить не только правильность синтаксиса XML документа, но также его структуру, модель содержания и типы данных.
Схемы бывают внешние и внутренние, т.е которые определены внутри  xml файла.
Плюс в документе для схемы могут быть заданы  пространства имен  описывающий именованную совокупность имён элементов и атрибутов, служащую для обеспечения их уникальности в XML-документе.
Возьмём, например, простой XML, который содержит ссылки на покупателя и на заказанный продукт. И элементы покупателя, и элементы продукта могут   содержать дочерний элемент «ID_number». Ссылки на элемент ID_number будут, таким образом, неоднозначны, у нас будут два одинаковых имени элемента несущих разную смысловую нагрузку и так будет, пока мы не введём пространства имён для их различения.
Пространства имён объявляются с помощью XML атрибута 
xmlns,   значение которого должно быть ссылкой URI.
Далее смотрим и анализируем  наш файл, видим что схема описана внутри и указано несколько пространств имен.  
Сразу скажу с такой схемой на нескольких пространствах имен у меня  SSIS  не заработал,   XML  source  видел схему, но не видел данных.
Поэтому  пришлось пойти другим путем , воспользоваться опцией  XML  TASK  и сгенерировать  xml  файл с одним пространством имен.
Для этого воспользуемся задачей XML  TASK, вообще у этой задачи гораздо больше возможностей подробней  тут 
Diff 
 |   
Сравнивает два XML-документа. Операция Diff сравнивает исходный XML-документ в качестве основного со вторым XML-документом, находит различия между ними   и записывает их в XML-документ Diffgram. Эта операция содержит свойства для настройки сравнения. 
 |   
merge 
 |   
Выполняет слияние двух XML-документов. Операция Merge берет исходный XML-документ в качестве основного и добавляет к нему содержимое второго документа. Можно   задать место в основном документе, куда будут вставлены данные. 
 |   
Patch 
 |   
Добавляет в указанный в XML-документ выходной документ операции Diff (документ Diffgram), чтобы получился новый документ, включающий в себя содержимое документа   Diffgram. 
 |   
Validate 
 |   
Проверяет соответствие XML-документа определению типа документа (DTD) или схеме XML (XSD). 
 |   
XPath 
 |   
Выполняет запросы и вычисления XPath. 
 |   
XSLT 
 |   
Выполняет преобразование XSL в XML-документах. 
 |   
<?xml   version="1.0"   encoding="utf-8"  ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="no" />
<xsl:template match="/|comment()|processing-instruction()">
<xsl:copy>
<xsl:apply-templates />
</xsl:copy>
</xsl:template>
<xsl:template match="*">
<xsl:element name="{local-name()}">
<xsl:apply-templates select="@*|node()" />
</xsl:element>
</xsl:template>
<xsl:template match="@*">
<xsl:attribute name="{local-name()}">
<xsl:value-of select="." />
</xsl:attribute>
</xsl:template>
</xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="no" />
<xsl:template match="/|comment()|processing-instruction()">
<xsl:copy>
<xsl:apply-templates />
</xsl:copy>
</xsl:template>
<xsl:template match="*">
<xsl:element name="{local-name()}">
<xsl:apply-templates select="@*|node()" />
</xsl:element>
</xsl:template>
<xsl:template match="@*">
<xsl:attribute name="{local-name()}">
<xsl:value-of select="." />
</xsl:attribute>
</xsl:template>
</xsl:stylesheet>
В результате преобразования у нас получится файл с одним пространством имен Modified_output.xml.
Теперь можно настроить Data  flow  для загрузки данных в базу.
Выбираем в качестве источника компонент XML  Source, задаем наш новый Xml  файл и генерируем для него схему.
Выбираем   нужный нам результат, так как там он будет не один.
И создаем в базе таблицу для загрузки, жмем кнопку   new
Запускаем наш пакет и видим что данные успешно загрузились в базу.
На этом все , немного юмора
Жена мужу: - Сходи в магазин и купи яиц... Муж: - У меня есть два яйца... Хватит? Жена : - А что их можно съесть? Он: -   Съесть нельзя, а полизать можно! Она: - Ну и замечательно! Утром полижешь себе на завтрак:))









