Optional elements/attributes in LINQ to XML

Joined
Jan 10, 2007
Messages
43,898
Location
In The Machine
I'm generating an XML file based on a bunch of properties in my class, and I'm wondering what's the best way to deal with optional elements or attributes.

Say I need an XML file like this:


*
*** Bas
*


Let's say that the age attribute is optional. Now, suppose I have a class that defines a Name and an Age property. You could generate the XML as follows:

Person person = new Person();

[...]

XDocument document = new XDocument(
***new XElement("persons",
******new XElement("person",
*********new XAttribute("age", person.Age),
*********new XElement("name", person.Name)
******** )
***** )
** );

This works fine if Age returns an actual value, but what if it's undefined, or a nullable type, for instance? Is there a way of making sure it only renders the age attribute if Age has an actual value without breaking up that single, smooth block into a mess of multiple if() statements?


More...

View All Our Microsoft Related Feeds
 
Back
Top