2017-09-01 40 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;">