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

У меня есть этот 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 ]

1 голос
/ 20 сентября 2010

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

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

0 голосов
/ 21 сентября 2010

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

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

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

Вам нужночтобы обратить внимание на VXD, это правильный формат, поэтому SSIS может предварительно считывать данные.

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

...