【发布时间】:2014-12-24 16:08:38
【问题描述】:
我已经使用 biztalk 几个月了,并且已经了解了基础和中级项目创建的来龙去脉。然而,今天我注意到一些我必须错过的初学者级别的概念(模式创建)。在我使用名为“NewSchema”的架构创建的项目中,我创建了一个屏幕记录,其中包含 id 和 parentid 属性、msg 元素和四个名为 A-D 的记录,这些记录是元素,但具有一个名为 ChildID 的属性。
我最初是在一个 C# 程序中完成这个项目的,我编写该程序是为了更好地自学如何遍历 XML 元素。现在我已经将该程序改编为 biztalk 我注意到元素不能有“属性”?要解决此 A-D 必须是具有属性的记录,然后我必须为每个 A-D 记录创建一个与记录同名的子元素。 biztalk中是否可以使用具有属性的元素?我很惊讶我以前从未遇到过这种情况。
如果我这样做,它会起作用:
<ns0:Root xmlns:ns0="http://WcfServerProject.NewSchema">
<Screen ID="ID_0" ParentID="ParentID_1">
<MSG>MSG_0</MSG>
<A ChildID="ChildID_0">
**<A>Hello World</A>**
</A>
<B ChildID="ChildID_0" />
<C ChildID="ChildID_0" />
<D ChildID="ChildID_0" />
</Screen>
</ns0:Root>
但是我可以在 biztalk 中以这种方式创建我的项目吗?:
<ns0:Root xmlns:ns0="http://WcfServerProject.NewSchema">
<Screen ID="ID_0" ParentID="ParentID_1">
<MSG>MSG_0</MSG>
**<A ChildID="ChildID_0">
Hello World
</A>**
<B ChildID="ChildID_0" />
<C ChildID="ChildID_0" />
<D ChildID="ChildID_0" />
</Screen>
</ns0:Root>
【问题讨论】:
-
对不起,我没有真正关注。元素绝对可以有属性。不知道你在问什么。
-
@Johns-305 您是从 Biztalk 角度还是 XML 角度说话?我知道 XML 允许带有元素的属性,但我的问题直截了当地说,“biztalk 有可能吗”。
-
是的,当然 BizTalk 架构可以有属性。 ID、ChildID、ParentID 都是属性。这就是为什么这个问题有点令人困惑,因为你问的是创建你已经拥有的东西。
-
验证实例时显示“元素不能包含文本。内容模型为空”。鉴于此
<D ChildID="ChildID_0">D </D>,但鉴于此<D ChildID="ChildID_0" />有效