2013-06-12 9 views
0

Я строю этот XML-файл:XML создание условного XElement

var persons = new[] { 
    new Person { 
     Name = "Patrick Hines", 
     PhoneNumbers = new[] { "206-555-0144", "425-555-0145" } 
    }, 
    new Person { 
     Name = "Gretchen Rivas", 
     PhoneNumbers = new[] { "206-555-0163" } 
    } 
}; 
      XElement contacts = 
       new XElement("contacts", 
        from p in persons 
        where p.Name.StartsWith("G") 
        select new XElement("contact", 
        new XElement("name", p.Name), 
        from ph in p.PhoneNumbers 
        select new XElement("phone", ph) 
       ) 
       ); 


     class Person 
     { 
      public string Name; 
      public string[] PhoneNumbers; 
     } 

В этом образце PhoneNumber не нуль. Как мне закодировать его, что он не будет создавать элемент в моем xml, когда строка номера телефона пуста или null?

+0

Добавить 'where' выражение. например. 'from ph in p.PhoneNumbers, где ph! = null выберите новый XElement (" phone ", ph)' – adatapost

ответ

0

Фильтр из пустых и пустых строк из номера телефонов:

from ph in p.PhoneNumbers where !String.IsNullOrEmpty(ph) 
Смежные вопросы