如何替换BizTalk消息中的<和>?

时间:2019-03-04 16:28:15

标签: biztalk biztalk-2013

我是BizTalk的新手,我需要从SQL Server表中读取一些值。我得到的结果集的示例如下:

<SelectResponse 
xmlns="http://schemas.microsoft.com/Sql/2008/05/TableOp/dbo/tableName">
    <SelectResult>
        <tableName xmlns="http://schemas.microsoft.com/Sql/2008/05/Types/Tables/dbo">
            <Message> &lt;item_1&gt; item_1Value &lt;/item_1&gt;
                      &lt;item_2&gt; item_2Value &lt;/item_2&gt;
                      &lt;item_3&gt; item_3Value &lt;/item_3&gt;
                      &lt;item_n&gt; item_3Value &lt;/item_n&gt; </Message>
         </tableName>
   </SelectResult>
</SelectResponse>

所以我在BizTalk中收到消息(该架构是从SQL适配器自动生成的)。我想要的是以下内容:

<SelectResponse 
xmlns="http://schemas.microsoft.com/Sql/2008/05/TableOp/dbo/tableName">
    <SelectResult>
        <tableName xmlns="http://schemas.microsoft.com/Sql/2008/05/Types/Tables/dbo">
            <Message> 
                <item_1> item_1Value </item_1>
                <item_2> item_2Value </item_2>
                <item_3> item_3Value </item_3>
                <item_n> item_3Value </item_n> 
             </Message>
         </tableName>
   </SelectResult>
</SelectResponse>

我有新的架构(用于item_1,item_2,...)。考虑到<Message>可以在BizTalk消息中多次出现,什么是更容易获得我所需要的方法的,我该怎么做?谢谢。

1 个答案:

答案 0 :(得分:0)

您看到的最可能原因是Xml内容项存储在另一个Xml结构Message中。存储在Xml中的Xml已转义,因此这不是实际问题,这是预期的行为。

您有几种选择,包括:

  1. 使用存储过程将Xml 项作为Xml而不是字符串加载和处理。
  2. 在业务流程中,提取项目Xml,重新格式化以包括根元素,然后基于该元素创建新的消息。

问题在于如何存储这些数据,而不是SQL Server如何返回数据或BizTalk如何显示数据。