XML, qu'est-ce: null ou vide?

Quant à mon autre question: XML désérialiser les éléments null?

J'ai des éléments de ce type à partir d'un serveur tiers pour l'API de test:

<Taxable />
<DefaultPurchasePrice />

Je viens de réaliser que maintenant, je suis confus propos de moi-même si des éléments comme qui représentent l'objet null ou vide.

Parler des objets, ils sont les mêmes, l'objet null signifie normalement vide référence d'objet de droit? Mais en essayant de la carte d'un élément XML à un champ de données/valeur, ils pourraient être différents.e null string est une chaîne vide, mais pour les Décimales du prix ou de la valeur Booléenne, elles ne sont pas définies qui égale à vide, mais ne sera pas nulle, sauf si elles sont définies comme les valeurs null.

Encore une fois, le problème avec mon XmlSerializer est que de ne pas gérer le transfert d'un élément vide comme ça. je pourrais facilement corriger cela dans mon code. Ou devrais-je demander aux gens de fournir le XML ont un sens bien défini XML? Car il semble que d'un vide de l'élément XML comme ça n'est pas défini: il est ici, mais peut être null ou vide n'a pas d'importance pour l'élément XML lui-même? Mais pour que l'élément de mon code besoin de comprendre la façon de traiter avec que, à moins que j'ai mis toutes mes classes C# datafield comme type de chaîne. Sinon, si mon code d'essayer de mapper directement un vide ou null élément XML à un certain datafield, il échouera à coup sûr.

Je pose cette question parce que j'ai rencontré XML ont beaucoup de ces éléments
et pour ces éléments, mon .NET XMLserialization code doivent correspondre à ceux du champ en tant que chaîne et si la chaîne n'est pas vide, j'ai le cas dans le correspondant du type de données, sinon j'ai mis à null. Et je finis par supprimer ces élément vide avant de me faire mon désérialisation, car il est beaucoup plus facile. Mais je ne l'errance: "Que suis-je vraiment en train de faire dans mon code? Fait j'ai juste supprimer les éléments null ou vide éléments? Parce qu'ils sont clairement différentes! Mais les gens de l'écriture que XML pense qu'ils sont les mêmes, parce que le XML lui-même n'ont pas de notion de 'null', et certaines personnes affirment qu'il est de ma responsabilité, de décider s'il est null ou vide. Mais XML ne vous permettent de représenter 'null' éléments de façon plus claire

Edit:

Dans l'exemple que j'ai présenté, ces deux éléments doivent bien évidemment être null plutôt que des éléments vides. XML n'ont pas vraiment de notion de valeur nulle, mais ces éléments pourraient être omis (si ils sont nuls, ne les mettez pas dans le XML) ou à l'aide d'une meilleure représentation comme mentionné être @svick. Ou dans d'autres cas, les éléments vides doivent être utilisés lorsqu'ils font sens. Mais pas de Virgule ou une valeur Booléenne.

Un élément vide balise XML valide. Comment vous interprétez, null, vide ou que ce soit, il est entièrement à vous.
cela devrait être une réponse... je l'avais upvote il
c'est donc un élément vide alors?
fpmurphy est assez claire. Vous devez décider, il n'existe aucune norme d'interprétation.
La spécification XML n'est pas de définir la sémantique de vos données. C'est à la spécification du vocabulaire particulier que vous utilisez. Si cette spécification ne disent pas ce que ce concept signifie, alors oui, il est ambigu. Si vous ne disposez pas d'une telle spécification, puis TOUT dans votre XML est ambigu.

OriginalL'auteur Paul L | 2011-08-30