2017-09-01 64 views
0

我想從這個BIML自定義連接提交SSIS 2014:BIML CustomSsisConnection問題 - XML三重嵌套報價

<CustomSsisConnection Name="Xtract DEV" CreateInProject="1" CreationName="XTRACT" ObjectData="&lt;XtractConnectionManager ConnectionString=&quot;USER=SERVICEUSER LANG=EN MSHOST=SAPSERVER.SERVICES.DOMAIN R3NAME=DEV GROUP="Development Server" PASSWD=SERVICEPW &quot; /&gt;"/> 

集團的部分是它失敗「開發服務器」 - 雙引號包括在內。如果我沒有引用,那麼當我運行BIML文件時,我創建的SSIS包具有GROUP = Development而不是Development Server,這是錯誤的。放置雙引號失敗,因此XML轉義"也是如此,因爲它已被使用並且引號應該位於兩個"標記內。

總之問題是:

<CustomSsisConnection ... ObjectData="...... ConnectionString&quot;..GROUP="Development Server" ... &quot; ..." /> 

我的問題是如何得到這個工作?我意識到這是一個三重嵌套報價,並且"沒有辦法。所以,簡單的問題:我怎麼更換兩節「?與

回答

0

■要使XML結構良好,所有你需要做的是寫了」與工作不作爲"

現在,也許這會產生一種根據其他一些(非XML)語法來構造良好。例如,如果一個XML屬性應該包含有效的JSON,那麼你可以不寫

<x json="{&quot;connection&quot;:&quot;a=&quot;b&quot;&quot;}"/> 

由於XML轉義後,該屬性將

{"connection":"a="b""} 

現在JSON規則說,嵌套引號應與反斜槓轉義,所以JSON應該是

{ 「連接」: 「A = \」 b \ 「」}

這意味着該XML應

<x json="{&quot;connection&quot;:&quot;a=\&quot;b\&quot;&quot;}"/> 
你的情況

現在不知道關於「BMIL」或「SSIS」的東西,我不知道什麼內部語法規則可能是:但是這種方法是一樣的:解決如何在應根據內部語法的規則轉義「三重嵌套」引號,然後使用XML規則轉義結果字符串。

0

只是使用普通空間作爲字符串..看看我的初始目錄,它也有空間,並且它工作正常。

實施例:

<Connection Name="TESTSERVER" ConnectionString="Data Source=.;Initial 
Catalog=test test;Provider=SQLNCLI11;Integrated Security=SSPI;Auto 
Translate=False;">