使用 BizTalk 在表达式形状的 LoadXml() 中连接
Concatenate in LoadXml() in expression shape with BizTalk
我是 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;
返回此错误:
operator '+' cannot be applied to operands of type 'System.String' and '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>");
但是它不起作用,我找不到解决方案。
我找到问题了。我只是忘了在我的 xpath 查询中连接 counterString。
xmlBody = xpath(msgIN, "/*[local-name()='CatManager' and namespace-uri()='http://Manager.CatManager']/*[local-name()='Owners']/*[local-name()='Owner'][" + counterString + "]");
您必须连接字符串 counterString。
xmlBody = xpath(msgIN, "/*[local-name()='CatManager' and namespace-uri()='http://Manager.CatManager']/*[local-name()='Owners']/*[local-name()='Owner'][" + counterString + "]");
我是 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;
返回此错误:
operator '+' cannot be applied to operands of type 'System.String' and '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>");
但是它不起作用,我找不到解决方案。
我找到问题了。我只是忘了在我的 xpath 查询中连接 counterString。
xmlBody = xpath(msgIN, "/*[local-name()='CatManager' and namespace-uri()='http://Manager.CatManager']/*[local-name()='Owners']/*[local-name()='Owner'][" + counterString + "]");
您必须连接字符串 counterString。
xmlBody = xpath(msgIN, "/*[local-name()='CatManager' and namespace-uri()='http://Manager.CatManager']/*[local-name()='Owners']/*[local-name()='Owner'][" + counterString + "]");