【问题标题】:Concatenate in LoadXml() in expression shape with BizTalk使用 BizTalk 在表达式形状中连接 LoadXml()
【发布时间】:2019-01-31 10:47:48
【问题描述】:

我对 BizTalk 很陌生,但在 BizTalk 的表达式形状中的连接有问题。

在这个表达式形状中我有这个代码:

xmlBody = xpath(msgIN, "/*[local-name()='CatManager' and namespace-uri()='http://Manager.CatManager']/*[local-name()='Owners']/*[local-name()='Owner'][counterString]");
xmlTemp.LoadXml("<ns0:CatManager xmlns:ns0=\"http://Manager.CatManager\">" + xmlBody + "</ns0:CatManager>");
msgOUT = xmlTemp;

返回此错误:

运算符“+”不能应用于“System.String”和“System.Xml.XmlDocument”类型的操作数

所以我会试试这个:

xmlTemp.LoadXml("<ns0:CatManager xmlns:ns0=\"http://Manager.CatManager\">" + xmlBody.ToString() + "</ns0:CatManager>");

或者这个:

xmlTemp.LoadXml("<ns0:CatManager xmlns:ns0=\"http://Manager.CatManager\">" + xmlBody.OuterXml + "</ns0:CatManager>");

但它不起作用,我找不到解决方案。

【问题讨论】:

  • 有人帮不了我吗?

标签: xml concatenation biztalk biztalk-2013 c#-1.2


【解决方案1】:

我发现了问题。我只是忘了在我的 xpath 查询中连接 counterString。

xmlBody = xpath(msgIN, "/*[local-name()='CatManager' and namespace-uri()='http://Manager.CatManager']/*[local-name()='Owners']/*[local-name()='Owner'][" + counterString + "]");

【讨论】:

    【解决方案2】:

    您必须连接字符串 counterString。

    xmlBody = xpath(msgIN, "/*[local-name()='CatManager' and namespace-uri()='http://Manager.CatManager']/*[local-name()='Owners']/*[local-name()='Owner'][" + counterString + "]");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-23
      • 2014-02-17
      • 1970-01-01
      • 2011-02-08
      • 2023-04-09
      相关资源
      最近更新 更多