2013-09-27 23 views
0

我通過Web服務任務得到變量的結果如下圖所示的圖像讀取可變XML文件中的XML源,要在SSIS

enter image description here

然後我使用了XML任務以除去多餘的命名空間和存儲爲示於下面的圖像中strProcessedResult變量另一個變量的處理結果,

enter image description here

這裏第二操作數是我的data.x SLT文件,這有助於從我的XML文件中刪除多餘的命名空間,

而下面是我的控制流的整體結構,

enter image description here

在數據流中,我使用XML源來閱讀我的變量和輸入數據到數據庫中,下面是XML源代碼的截圖,

enter image description here

在這裏,它給我的錯誤作爲XML源是無法讀取數據和XMLDataVariable是空的,我想讀取節點值並將數據插入到使用OLEDB數據庫目標,

如果不是將web服務任務的結果保存到變量,我保存在XML文件外部然後在下面將我的XML文件格式,

<?xml version="1.0" encoding="utf-16"?> 
<Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <Name xmlns="http://localhost">Rahul</Name> 
    <BirthDate xmlns="http://localhost">1991-04-20T00:00:00</BirthDate> 
</Data>. 

和應用XSLT規則,以除去多餘的命名空間後,我的XML文件看起來是這樣,

<?xml version="1.0" encoding="utf-8"?><Data><Name>Rahul</Name><BirthDate>1991-04-20T00:00:00</BirthDate></Data> 

而且請注意,我必須強制添加XSLT rul E要刪除多餘的命名空間,否則它不會產生進一步的操作,也是我的項目運作良好。如果我將結果存儲在外部XML文件,但我想利用的整個操作變量的XSD,

回答

0

請務必切實在設計時你的strProcessedResult變量中有東西。我的意思是:當你運行你的軟件包時,它會加載這個變量,但是在設計時你的變量將是空的,所以粘貼到你期望的XML中,只是爲了給這個任務處理一些東西。

+0

@ ElectricLlama..My變量strprocessedResult確實有價值,整個XML文件的內容,我用斷點檢查過它,我知道這是不正確的做法,然後爲了工作過程,我首先運行了web服務任務和XML任務在上面的變量中獲得值,然後我再次集體操作所有工具,這意味着我的上面的變量已經包含了該值。 – Reshma

+0

所以,當你去變量窗口(而不是在代碼運行時)檢查變量時,它包含了什麼? –

+0

@ElectricLlama ..抱歉,但我如何在代碼未運行時檢查變量的內容是否意味着它不處於調試模式? – Reshma