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

问题描述 投票:0回答:1

我是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 Adapter自动生成的)。我想要的是以下内容:

<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消息中多次出现,获得我需要的更简单的方法是什么,我该怎么做?谢谢。

biztalk biztalk-2013
1个回答
0
投票

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

你有几个选择,包括:

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

问题是如何存储这些数据,而不是SQL Server如何返回它或BizTalk如何呈现它。

© www.soinside.com 2019 - 2024. All rights reserved.