2009-11-10 7 views
0

J'ai travaillé à la création de classes représentant la spécification HR-Xml 3 pour les paquets stand-up liés à Screening. J'ai eu quelques problèmes, mais actuellement je crois que le problème principal est le manque de support dans xsd.exe pour l'instruction xsd: union.Génération de classe .Net à partir de XSD avec union

When Xsd.exe encounters a simple type defined by union, it ignores the definition and uses the built-in string data type in its place.
From - http://msdn.microsoft.com/en-us/library/bc57azyw%28VS.85%29.aspx

La seule solution que je l'ai vu sur divers forums et newsgroups est de restructurer le XSD de ne pas utiliser le syndicat? Cependant, même avec le petit sous-ensemble d'entités dont j'ai besoin, le nombre de déclarations syndicales approche 100. Peut-être que c'est la seule solution?

Je suis coincé là-dessus depuis plusieurs jours et je n'ai rien trouvé de vraiment utile, à part "non, ça ne marche pas". À la fin, je besoin de pour le faire fonctionner en quelque sorte. Toutes les suggestions pour les outils, les reconceptions, les convertisseurs, tout ce qui peut me procurer ces cours! J'ai même commencé à penser à générer des classes Java, puis à les convertir en C# ... Je suis à perte

Merci d'avance! J'espère vraiment qu'il y a une solution à cela!


En fin de compte, nous avons décidé que nous ne mettre en œuvre HR-Xml dans la première phase, peut-être quand nous y revenir, je vais avoir plus de chance. Pourtant, si quelqu'un lit ceci et a des suggestions s'il vous plaît laisser des commentaires que je prévois de surveiller cela pendant un certain temps.

+1

Juste utilisé Sparx Enterprise Architect aux classes gen, et il a fait un bien meilleur travail que toute autre chose. Je dirais que c'est probablement l'outil à utiliser si vous rencontrez des problèmes. Malheureusement, il a foiré quelques autres constructions dans le schéma, mais c'était plus proche que toute autre chose que j'ai essayée. –

Répondre

0

Deux choses que vous pourriez essayer assez facilement et Quicky pour voir si elles fournissent une aide:

  • utiliser le Fonds de roulement svcutil.exe utilitaire (avec le commutateur /dconly) au lieu de xsd.exe - cette tente de créer une classe en fonction de la WCF DataContractSerializer qui peut gérer un certain nombre de choses mieux que le standard XML .NET sérialiseur

  • Essayez un autre générateur « XSD à code », par exemple quelque chose comme Xsd2Code sur CodePlex

Marc

+0

Merci pour la réponse, malheureusement j'ai essayé les deux sans succès>

Questions connexes