I am creating a new XDocument from a table. I have to validate the document from an XSD document and it keeps failing because it add the xmlns="" to one of the Elements when it shouldn't. Here's parts of the code that are pertinent.
    XNamespace xsi = "http://www.w3.org/2001/XMLSchema-instance";                 XNamespace xmlns = "https://uidataexchange.org/schemas";                 XElement EmployerTPASeparationResponse = null;                 XElement EmployerTPASeparationResponseCollection = new XElement(xmlns + "EmployerTPASeparationResponseCollection", new XAttribute(XNamespace.Xmlns + "xsi", xsi), new XAttribute(xsi + "schemaLocation", "https://uidataexchange.org/schemas SeparationResponse.xsd"));                 XDocument doc = new XDocument(                 new XDeclaration("1.0", null, "yes"), EmployerTPASeparationResponseCollection);     //sample XElement populate Element from database     StateRequestRecordGUID = new XElement("StateRequestRecordGUID");                         StateRequestRecordGUID.SetValue(rdr["StateRequestRecordGUID"].ToString());      //sample to add Elements to EmployerTPASeparationResponse     EmployerTPASeparationResponse = new XElement("EmployerTPASeparationResponse");                     if (StateRequestRecordGUID != null)                     {                         EmployerTPASeparationResponse.Add(StateRequestRecordGUID);                     }      //the part where I add the EmployerTPASeparationResponse collection to the parent     EmployerTPASeparationResponseCollection.Add(EmployerTPASeparationResponse);   The above code produces the following xml file.
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <EmployerTPASeparationResponseCollection xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://uidataexchange.org/schemas SeparationResponse.xsd" xmlns="https://uidataexchange.org/schemas"> <EmployerTPASeparationResponse xmlns="">     <StateRequestRecordGUID>94321098761987654321323456109883</StateRequestRecordGUID>   </EmployerTPASeparationResponse> </EmployerTPASeparationResponseCollection>   Notice the element EmployerTPASeparationResponse. It has an empty xmlns attribute. What I want to happen is to just write EmployerTPASeparationResponse with no attributes at all.
You need to specify the namespace of the elements you are adding. e.g.
//sample XElement populate Element from database StateRequestRecordGUID = new XElement(xmlns + "StateRequestRecordGUID");   and
//sample to add Elements to EmployerTPASeparationResponse EmployerTPASeparationResponse = new XElement(xmlns + "EmployerTPASeparationResponse"); 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With