join XML Elements and handle if not exits - using Linq-to-XML ASP.Net C#
Extending to my own question from [My Earlier post](http://stackoverflow.com/questions/9995686/query-nested-xml-elements-using-linq-to-xml-asp-net-c-sharp)

If you notice i am joining my elements with **let** keyword

some times my XML may not have all these elements.

So is it possible to join this element on if exits?
if not exists give a **null or empty** value for that field

for example if there is no **Pharmacy Element.**

then this  `let Pharmacy = MD.Element(NameSpace + "Pharmacy")`
should be possible and this 

    phStoreName = Pharmacy.Element(NameSpace + "StoreName").Value,
should give me a **null or empty** value for **phStoreName** 

    var MedicationDispensed = (from MD in xdoc.Descendants(NameSpace + "MedicationDispensed")
                                       let DrugCoded = MD.Element(NameSpace + "DrugCoded")
                                       let Quantity = MD.Element(NameSpace + "Quantity")
                                       let Pharmacy = MD.Element(NameSpace + "Pharmacy")
                                       let phIdentification = Pharmacy.Element(NameSpace + "Identification")
                                       let phAddress = Pharmacy.Element(NameSpace + "Address")
                                       let phPhoneNumbers = Pharmacy.Element(NameSpace + "PhoneNumbers")
                                       let phPhone = phPhoneNumbers.Element(NameSpace + "Phone")
                                       let Prescriber = MD.Element(NameSpace + "Prescriber")
                                       let prIdentification = Prescriber.Element(NameSpace + "Identification")
                                       let prName = Prescriber.Element(NameSpace + "Name")
                                       let prAddress = Prescriber.Element(NameSpace + "Address")
                                       select new
                                       {
                                           DrugDescription = MD.Element(NameSpace + "DrugDescription").Value,
                                           ProductCode = DrugCoded.Element(NameSpace + "ProductCode").Value,
                                           ProductCodeQualifier = DrugCoded.Element(NameSpace + "ProductCodeQualifier").Value,
                                           Qualifier = Quantity.Element(NameSpace + "Qualifier").Value,
                                           Value = Quantity.Element(NameSpace + "Value").Value,
                                           CodeListQualifier = Quantity.Element(NameSpace + "CodeListQualifier").Value,
                                           DaysSupply = MD.Element(NameSpace + "DaysSupply").Value,
                                           LastFillDate = MD.Element(NameSpace + "LastFillDate").Value,
                                           phStoreName = Pharmacy.Element(NameSpace + "StoreName").Value,
                                           phNCPDPID = phIdentification.Element(NameSpace + "NCPDPID").Value,
                                           phAddress1 = phAddress.Element(NameSpace + "AddressLine1").Value,
                                           phCity = phAddress.Element(NameSpace + "City").Value,
                                           phState = phAddress.Element(NameSpace + "State").Value,
                                           phZipcode = phAddress.Element(NameSpace + "ZipCode").Value,
                                           phPhoneNumber = phPhone.Element(NameSpace + "Number").Value,
                                           phQualifier = phPhone.Element(NameSpace + "Qualifier").Value,
                                           prDEANumber = prIdentification.Element(NameSpace + "DEANumber").Value,
                                           prLastName = prName.Element(NameSpace + "LastName").Value,
                                           prFirstName = prName.Element(NameSpace + "FirstName").Value,
                                           prMiddleName = prName.Element(NameSpace + "MiddleName").Value,
                                           prAddress1 = prAddress.Element(NameSpace + "AddressLine1").Value,
                                           prCity = prAddress.Element(NameSpace + "City").Value,
                                           prState = prAddress.Element(NameSpace + "State").Value,
                                           prZipCode = prAddress.Element(NameSpace + "ZipCode").Value
                                       }).ToList();
join XML Elements and handle if not exits - using Linq-to-XML ASP.Net C#
===

Extending to my own question from [My Earlier post](http://stackoverflow.com/questions/9995686/query-nested-xml-elements-using-linq-to-xml-asp-net-c-sharp)

If you notice i am joining my elements with **let** keyword

some times my XML may not have all these elements.

So is it possible to join this element on if exits?
if not exists give a **null or empty** value for that field

for example if there is no **Pharmacy Element.**

then this  `let Pharmacy = MD.Element(NameSpace + "Pharmacy")`
should be possible and this 

    phStoreName = Pharmacy.Element(NameSpace + "StoreName").Value,
should give me a **null or empty** value for **phStoreName** 

    var MedicationDispensed = (from MD in xdoc.Descendants(NameSpace + "MedicationDispensed")
                                       let DrugCoded = MD.Element(NameSpace + "DrugCoded")
                                       let Quantity = MD.Element(NameSpace + "Quantity")
                                       let Pharmacy = MD.Element(NameSpace + "Pharmacy")
                                       let phIdentification = Pharmacy.Element(NameSpace + "Identification")
                                       let phAddress = Pharmacy.Element(NameSpace + "Address")
                                       let phPhoneNumbers = Pharmacy.Element(NameSpace + "PhoneNumbers")
                                       let phPhone = phPhoneNumbers.Element(NameSpace + "Phone")
                                       let Prescriber = MD.Element(NameSpace + "Prescriber")
                                       let prIdentification = Prescriber.Element(NameSpace + "Identification")
                                       let prName = Prescriber.Element(NameSpace + "Name")
                                       let prAddress = Prescriber.Element(NameSpace + "Address")
                                       select new
                                       {
                                           DrugDescription = MD.Element(NameSpace + "DrugDescription").Value,
                                           ProductCode = DrugCoded.Element(NameSpace + "ProductCode").Value,
                                           ProductCodeQualifier = DrugCoded.Element(NameSpace + "ProductCodeQualifier").Value,
                                           Qualifier = Quantity.Element(NameSpace + "Qualifier").Value,
                                           Value = Quantity.Element(NameSpace + "Value").Value,
                                           CodeListQualifier = Quantity.Element(NameSpace + "CodeListQualifier").Value,
                                           DaysSupply = MD.Element(NameSpace + "DaysSupply").Value,
                                           LastFillDate = MD.Element(NameSpace + "LastFillDate").Value,
                                           phStoreName = Pharmacy.Element(NameSpace + "StoreName").Value,
                                           phNCPDPID = phIdentification.Element(NameSpace + "NCPDPID").Value,
                                           phAddress1 = phAddress.Element(NameSpace + "AddressLine1").Value,
                                           phCity = phAddress.Element(NameSpace + "City").Value,
                                           phState = phAddress.Element(NameSpace + "State").Value,
                                           phZipcode = phAddress.Element(NameSpace + "ZipCode").Value,
                                           phPhoneNumber = phPhone.Element(NameSpace + "Number").Value,
                                           phQualifier = phPhone.Element(NameSpace + "Qualifier").Value,
                                           prDEANumber = prIdentification.Element(NameSpace + "DEANumber").Value,
                                           prLastName = prName.Element(NameSpace + "LastName").Value,
                                           prFirstName = prName.Element(NameSpace + "FirstName").Value,
                                           prMiddleName = prName.Element(NameSpace + "MiddleName").Value,
                                           prAddress1 = prAddress.Element(NameSpace + "AddressLine1").Value,
                                           prCity = prAddress.Element(NameSpace + "City").Value,
                                           prState = prAddress.Element(NameSpace + "State").Value,
                                           prZipCode = prAddress.Element(NameSpace + "ZipCode").Value
                                       }).ToList();