Comment ajouter un type de document à un XDocument?
J'ai déjà un XDocument objet que je voudrais ajouter un XML doctype. Par exemple:
XDocument doc = XDocument.Parse("<a>test</a>");
Je peux créer une XDocumentType à l'aide de:
XDocumentType doctype = new XDocumentType("a", "-//TEST//", "test.dtd", "");
Mais comment puis-je l'appliquer à l'existant XDocument?
source d'informationauteur James Sulak
Vous devez vous connecter pour publier un commentaire.
Vous pouvez ajouter un
XDocumentType
à unXDocument
mais il doit être le premier élément ajouté. La documentation autour de ce qui est vague.Grâce à Jeroen pour souligner l'approche pratique de l'utilisation de
AddFirst
dans les commentaires. Cette approche permet d'écrire le code suivant, qui montre comment ajouter laXDocumentType
après laXDocument
a déjà des éléments:Alternativement, vous pouvez utiliser le
Add
méthode pour ajouter uneXDocumentType
à unXDocument
mais le problème, c'est qu'aucun autre élément ne devrait pas exister puisque c'est d'être le premier.D'autre part, le suivant n'est pas valide et entraînerait une exception InvalidOperationException: "Cette opération permettrait de créer d'une manière incorrecte d'un document structuré."
Juste passer à la
XDocument
constructeur (exemple complet):ou de l'utilisation
XDocument.Ajouter
(leXDocumentType
doit être ajouté avant l'élément racine):