Xsd 如何在BizTalk中创建记录数组
我有一个xsd类型,它由一些元素组成。其中一个元素的定义如下Xsd 如何在BizTalk中创建记录数组,xsd,biztalk,Xsd,Biztalk,我有一个xsd类型,它由一些元素组成。其中一个元素的定义如下 其中参数类型是 <xs:complexType name="ParametersType"> <xs:sequence> <xs:element name="Parameter" type="ParameterType" minOccurs="0" maxOccu
其中参数类型是
<xs:complexType name="ParametersType">
<xs:sequence>
<xs:element name="Parameter"
type="ParameterType"
minOccurs="0"
maxOccurs="unbounded" />
<xs:element name="UserDefinedParameter"
type="xs:base64Binary"
minOccurs="0"
maxOccurs="1">
</xs:element>
</xs:sequence>
</xs:complexType>
也就是说,我有一个参数类型记录数组。到目前为止,我有两个问题:
初始化该数组以及如何在表达式块中使用它李>
如何调整从相同类型的传入消息到我的消息的映射
当我们在这里讨论数组时,实际上是在讨论消息中嵌套的、可重复的节点
一种解决方案是在编排的循环中分解阵列
这并不简单,但这里有一个例子:
各种表达式形状中的代码:
在“计数数组项”中
在“foreach数组项”中
内部“增量循环索引”
上面提供了一种方法来分解编排中的数组,并将每个“参数”类型作为xml文档进行访问(然后可以使用xml文档进行处理)
希望这能有所帮助。当我们在这里讨论数组时,实际上是在讨论消息中的嵌套的、可重复的节点
一种解决方案是在编排的循环中分解阵列
这并不简单,但这里有一个例子:
各种表达式形状中的代码:
在“计数数组项”中
在“foreach数组项”中
内部“增量循环索引”
上面提供了一种方法来分解编排中的数组,并将每个“参数”类型作为xml文档进行访问(然后可以使用xml文档进行处理)
希望这有帮助。以及如何创建新的参数数组?例如,我有两个参数-用户登录名和域名-我想用两条记录填充一个参数数组。@javros您能详细解释一下吗。我不知道“我想用2条记录填充一个参数数组”是什么意思。我有一个ProviderRequest
元素,在它里面我有Parameters
元素,它由一系列Parameter
类型的元素组成。后者由Name
和Value
元素(字符串)组成。它看起来像是发布者Johnade2011-09-13T10:43:00。如何在BizTalk中填充元素?如何创建新的参数数组?例如,我有两个参数-用户登录名和域名-我想用两条记录填充一个参数数组。@javros您能详细解释一下吗。我不知道“我想用2条记录填充一个参数数组”是什么意思。我有一个ProviderRequest
元素,在它里面我有Parameters
元素,它由一系列Parameter
类型的元素组成。后者由Name
和Value
元素(字符串)组成。它看起来像是发布者Johnade2011-09-13T10:43:00。如何在BizTalk中填充元素?
intCountArrayItems = xpath(MyMessage, "count(XpathToParameterNodeInYourMessage)");
intLoopIndex < intCountArrayItems
strXPathToArrayItem = System.String.Format("XpathToParameterNodeInYourMessage[{0}]", intLoopIndex + 1);
MyXmlDocument = xpath(MyMessage, strXPathToArrayItem);
// Now you can do what you want with the xml document.
intLoopIndex = intLoopIndex + 1;