XSD类生成器:跟踪元素顺序

我在我的XSD模式中获得了以下复杂类型

<xs:complexType name="structure" mixed="true">
  <xs:choice maxOccurs="unbounded">
    <xs:element type="b" name="b" />
    <xs:element type="a" name="a" />
  </xs:choice>
</xs:complexType>

这使我可以像这样陈述XML定义:

<structure>
    Hello <b>World</b> 
    Hello 2 <b>World 2</b> 
    <a>Hello3</a> <b>World3</b>
</structure>

现在我试图从我的模式中生成XSD类,我尝试了XSD.exe以及XSD2Code。 他们都产生类似的东西

class structure {
    List<a> a;
    List<b> b;
    List<string> text;
}

我的问题是,我需要跟踪哪些元素在结构的XML内容中定义的顺序。 参考上面的例子,我想知道内部文本“你好”在b元素第一次出现之前。

因为这显然需要一个更专门化的发生器策略,也许我期待太多,但是:是否有任何可以处理对象顺序的XSD生成器,还是必须编写自己的类?

先谢谢你


我从来没有见过一个XSD代码绑定工具,它可以做你在这里需要的东西,当然不是在.NET平台上 - 你似乎暗示为目标。 这是无法往返XML的情况之一,而且不会丢失保真度(反序列化,序列化,然后比较,失败)。 只是为了完整性,/ order选项不适用于xsd.exe,仅仅因为就您定义的XSD而言,没有任何顺序。 它也是XSD可以描述的限制,这在工具实现中不可避免地反映出来。

链接地址: http://www.djcxy.com/p/5861.html

上一篇: XSD Class generators: keeping track of element order

下一篇: XSD.exe ignores simple complextypes