Запись данных XML из URL-адреса в объект в задаче сценария служб SSIS

У меня есть этот URL, где есть данные XML. Я должен извлечь эти данные из URL и сбросить их в таблицу DW. Я использую задачу сценариев SSIS для этого.

Вот как выглядят данные:

-<currency>

<csymbol>AED</csymbol>

<cname>United Arab Emirates Dirhams</cname>

<crate>3.6732001305</crate>

<cinverse>0.2722421770</cinverse>

</currency>

−<currency>

<csymbol>AFN</csymbol>

<cname>Afghanistan Afghanis</cname>

<crate>44.0000000000</crate>

<cinverse>0.0227272727</cinverse>

</currency>

−<currency>

<csymbol>ALL</csymbol>

<cname>Albania Leke</cname>

<crate>104.4100000001</crate>

<cinverse>0.0095776267</cinverse>

</currency>

Это код, который я использую, чтобы загрузить его в некоторый тип объекта или что-то. Но я не знаю, как это сделать.

public void Main()
{
    String URLString = "http://www.xe.com/dfs/datafeed2.cgi?beeline";
    XmlDocument doc = new XmlDocument();
    XmlTextReader reader = new XmlTextReader(URLString);
    doc.Load(reader);

    XmlNodeList currencynodes = doc.SelectNodes("currency");
    foreach(XmlNode currency in currencynodes)
    {
        XmlNode csymbol = currency.SelectSingleNode("csymbol");
        string csymbolvalue = csymbol.Value;

        XmlNode cname = currency.SelectSingleNode("cname");
        string cnamevalue = cname.Value;

        XmlNode crate = currency.SelectSingleNode("crate");
        string cratevalue = crate.Value;

        XmlNode cinverse = currency.SelectSingleNode("cinverse");
        string cinversevalue = cinverse.Value;

        Dts.Variables["User::oCurrencyConversion"].Value = csymbol.Value;
    }

Ответы на вопрос(2)

Решение Вопроса

Для этого вам действительно нужно использовать компонент источника сценария внутри задачи потока данных. Затем используйте стандартные целевые компоненты, чтобы выполнить вставку в DW.

Вот пример пакета, который я реализовал.http://dl.dropbox.com/u/5332312/xRateLoader.zip

 jack20 сент. 2010 г., 22:48
Большое вам спасибо, UnclePaul. Ты потрясающий .. :) Я пытался выяснить, как загрузить данные в таблицу. Теперь это работает. Я действительно очень ценю вашу помощь. Хорошего дня.
 jack20 сент. 2010 г., 22:00
Я тоже это пробовал, но в основном моя главная проблема в том, что я совсем не программист на c #. Основываясь на нескольких статьях в Интернете, мне понадобилось 2 дня, чтобы написать несколько строк кода. И именно поэтому мне нужна помощь, чтобы преобразовать этот XML в таблицу БД (или переменную объекта), где у меня будет 4 столбца (символ, имя, скорость, инверсия).

Однажды я сделал то же самое, перетаскивая данные из XLM в SQL через пакет SSIS.

Вот основные шаги.

Сделать пакет DTSВ DataFlow выберите исходное соединение XML и заполните форму для исходного файла и файла VXD (структура).Затем установите соединение назначенияПотяните зеленую линию от источника к месту назначения

Необходимо обратить внимание на правильность формата VXD, чтобы службы SSIS могли считывать данные заранее.

Где-то на рабочем столе моего офиса у меня все еще есть источник этого пакета служб SSIS, первым делом утром я попытаюсь найти его и поделиться им здесь.
Кроме того, если источник вашего XML является общедоступным, пожалуйста, напишите здесь, чтобы мы могли попробовать сделать его для вас.
Ару Вы предпочли больше делать эту задачу, используя C # или сервис интеграции?

Ваш ответ на вопрос