2009-08-28 1 views
1

что не так с этим кодомСсылка на объект не указывает на экземпляр объекта с XDocument

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. Не существует

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

ответ

6

Существует нет ничего в этом документе, так XDocument.Element («PlayerCodes») приходит в нуль.

Загрузите документ первым.

Или это

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"); 
+0

В основном я хочу, чтобы создать файл XML. Это не существует –

+0

Большое спасибо. Это помогло –

0

Вы должны добавить "PlayerCodes" elemnt вам XDocument первым.

2

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

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

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