在 BizTalk 消息中转义 XML
escaped XML in BizTalk message
我有一条 BizTalk 消息,其中包含一个名为 cParams 的节点,我想用一些 XML 填充它我已转换为字符串(如下):
<ds>
<caseid>1</caseid>
<d1_title>MRS</d1_title>
</ds>
不是像上面那样包含字符串,而是在编排调试器中显示如下:
<ns0:nws_update_case xmlns:ns0="http://xxxxx/xxxe/v1-0">
<cToken>xxxxx-xxx-xxx-xxxxx</cToken>
<cParams><ds><caseid>1</caseid><d1_title>MRS</d1_title></ds></cParams>
</ns0:nws_update_case>
我曾尝试替换该字符,并尝试在它被转换为字符串之前将其作为消息插入 (msg.InnerXML),但它始终显示为转义。还有其他方法可以实现我想要的吗?
我在这里回答了一个类似的问题:
mapping a string containing xml in BizTalk
使用 XSLT 进行映射,您可以创建 BTM 文件映射 ds
到 nws_update_case
。
在您的 XSLT 中,您可以使用 .NET 扩展对象环绕 System.Web.HttpUtility.HtmlDecode()
以将 XML 解码为 XML 而不是 "escaped XML"。
我有一条 BizTalk 消息,其中包含一个名为 cParams 的节点,我想用一些 XML 填充它我已转换为字符串(如下):
<ds>
<caseid>1</caseid>
<d1_title>MRS</d1_title>
</ds>
不是像上面那样包含字符串,而是在编排调试器中显示如下:
<ns0:nws_update_case xmlns:ns0="http://xxxxx/xxxe/v1-0">
<cToken>xxxxx-xxx-xxx-xxxxx</cToken>
<cParams><ds><caseid>1</caseid><d1_title>MRS</d1_title></ds></cParams>
</ns0:nws_update_case>
我曾尝试替换该字符,并尝试在它被转换为字符串之前将其作为消息插入 (msg.InnerXML),但它始终显示为转义。还有其他方法可以实现我想要的吗?
我在这里回答了一个类似的问题: mapping a string containing xml in BizTalk
使用 XSLT 进行映射,您可以创建 BTM 文件映射 ds
到 nws_update_case
。
在您的 XSLT 中,您可以使用 .NET 扩展对象环绕 System.Web.HttpUtility.HtmlDecode()
以将 XML 解码为 XML 而不是 "escaped XML"。