I've encountered an issue whereby when I create an XML Document programmatically using the System.Xml classes and then use the Save method the output XML doesn't use QNames for the Nodes and just uses local names.
eg Desired Output
<ex:root>
<ex:something attr:name="value">
</ex:root>
But what I currently get is
<root>
<something name="value">
</root>
This is somewhat simplified since all the Namespaces I'm using are being fully defined using xmlns attributes on the document element but I've omitted that for clarity here.
I'm aware that the XmlWriter class can be used to save an XmlDocument and that this takes an XmlWriterSettings class but I couldn't see how to configure this such that I get full QNames output.