I am trying to get to the following XML (for a 3rd party; so needs to be exact) and having some trouble with the xmlns on the inner elements:
<headerResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<sessionID xmlns="http://www.example.com/portal-api">4654654564</sessionID>
<uniqueTranID xmlns="http://www.example.com/portal-api">gh0000000</uniqueTranID>
<statusCode xmlns="http://www.example.com/portal-api">1</statusCode>
<statusCodeDescription xmlns="http://www.example.com/portal-api">jhkjhkjhkjhkjkjhkjkkjhkhk</statusCodeDescription>
<message xmlns="http://www.example.com/portal-api">testMessage</message>
</headerResponse>
From other examples, I have got the following:
XNamespace xsi = "http://www.w3.org/2001/XMLSchema-instance";
XNamespace xsd = "http://www.w3.org/2001/XMLSchema";
XNamespace api = "http://www.example.com/portal-api";
XElement example = new XElement("headerResponse",
new XAttribute(XNamespace.Xmlns + "xsi", xsi),
new XAttribute(XNamespace.Xmlns + "xsd", xsd),
new XElement("sessionID", "some session id", new XAttribute("xmlns", api))
);
Without the sessionID, it happily created the main headerResponse with the xsi and xsd, but when I added the sessionID in and try to post the contents in the immediate window with example.toString(), I get the following error:
The prefix '' cannot be redefined from '' to 'http://www.example.com/portal-api' within the same start element tag.