XSD类发电机:跟踪元素秩序(XSD Class generators: keeping track

2019-10-18 14:43发布

我得到了我的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生成器,可以处理对象顺序还是我写我自己的类?

先感谢您

Answer 1:

我从来没有见过一个XSD编写装订工具这将你需要的东西在这里,肯定不会在.NET平台上 - 你似乎意味着作为目标。 这是那些情况下,往返的XML是不可能的,不保真损失一个(反序列化,序列化再比较,它失败)。 只是为了完整起见,/订单选项不会与XSD.EXE工作,只是因为在你所定义的XSD方面,有没有真正的秩序。 它是,也什么XSD可以描述的限制,这不可避免地反映在工具的实施方式。



文章来源: XSD Class generators: keeping track of element order