2010-08-04 63 views
0

我需要生成XML,根据XSD和(如果有效)验证,将XML发送给第三方。在.Net中基于XSD格式排序XML文件

我的问题是,以正确的顺序(如XSD定义的那样)生成XML文件的节点是很难与我目前的情况。编写代码以正确的顺序手动添加节点将意味着很多代码以及需要更新(如果XSD更改)(现在和将来)

XSD相当复杂,其中包含许多元素参考以及序列和complexTypes中的组。

不幸的是,我不能附上一个例子,因为XSD(和XML)被视为“公司机密”。

我想知道的是,如果有方法根据XSD中的定义对XML中的节点进行排序?

任何人都曾在.Net世界或其他地方听过或见过这样的功能吗?任何人有任何想法开始解决这个问题?

回答

0

不知道更多这有点难以说出,但这是我在过去如何解决类似的问题。

从控制台运行XSD.EXE,将其指向XSD并使用classes开关(您需要查看文档,但不要那么辛苦)。这将生成一个与您的XSD匹配的XmlSerializable类。

然后,您将编写一些内容,将您当前的类转换为XSD类,然后序列化为XML。

+0

这是一个迷人的方法,我希望我知道它时,我开始了这个项目:) 然而,问题是,我现在有所有的代码生成xml作为XDocument。我现在“仅”需要对此XML进行排序以符合XSD定义 – peter3 2010-08-04 13:52:21