Ссылка на объект не установлена ​​на экземпляр объекта с XDocument - PullRequest
1 голос
/ 28 августа 2009

что не так с этим кодом

XDocument xDocument = new XDocument();

for (int i = 0; i < 5; i++)

{

xDocument.Element("PlayerCodes").Add(

new XElement("PlayerCode", i.ToString())

);

}

xDocument.Save(@"c:\test.xml");

Я получаю ошибку "Ссылка на объект не установлена ​​на экземпляр объекта."

В основном я хочу создать XML-файл. Не существует

Пожалуйста, помогите

Ответы [ 3 ]

6 голосов
/ 28 августа 2009

В документе ничего нет, поэтому XDocument.Element ("PlayerCodes") имеет значение null

Сначала загрузите документ.

Или сделайте это

XDocument xDocument = new XDocument();

for (int i = 0; i < 5; i++)        
{
  if( XDocument.Element("PlayerCodes") == null)
  {
    XDocument.Add(new XElement("PlayerCodes"));
  }

  xDocument.Element("PlayerCodes").Add(new XElement("PlayerCode", i.ToString()));

}

xDocument.Save(@"c:\test.xml");
2 голосов
/ 28 августа 2009

Более краткий способ создания того же документа выглядит так:

var doc = new XDocument(
    new XElement("PlayerCodes",
        Enumerable.Range(0, 5).Select(i => new XElement("PlayerCode", i))
    )
);

doc.Save(@"c:\test.xml");
0 голосов
/ 28 августа 2009

Сначала вы должны добавить элемент "PlayerCodes" в свой XDocument.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...