Сериализация объекта в элемент XML (c #) - PullRequest
0 голосов
/ 24 января 2012
[System.Xml.Serialization.XmlRootAttribute("player", IsNullable = false)]
 public class Player
 {
  ...
  }

Создание и сериализация нового Player () без установки каких-либо свойств дает мне элемент XML <player/>, но я бы хотел получить <player></player>.

Ответы [ 3 ]

0 голосов
/ 24 января 2012

Я предполагаю, что ваша проблема в том, что при чтении пустого узла происходит сбой. Вы всегда должны проверять наличие пустых элементов, прежде чем пытаться прочитать какие-либо элементы / атрибуты.

0 голосов
/ 24 января 2012

Их следует считать эквивалентными значениями.Тем не менее, если вам нужно, то лучше всего работать с пользовательским XmlWriter, как описано здесь в ответе на аналогичный вопрос здесь:

http://social.msdn.microsoft.com/Forums/en-US/xmlandnetfx/thread/979315cf-6727-4979-a554-316218ab8b24/

0 голосов
/ 24 января 2012

Что касается XML, <player/> эквивалентно <player></player>.См. Спецификацию XML здесь , связанную с этим.

Если вам все еще нужно иметь <player></player>, значит, вы что-то делаете неправильно .

...