I\'m loading a XML Document that has some tags that have no innertext.
If I populate the innertext with some data then it works as needed (you get opening tag, inner
This fixed it for me...
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(@"C:\test.xml");
//Save the xml and then cleanup
XmlWriterSettings settings = new XmlWriterSettings { Indent = true };
XmlWriter writer = XmlWriter.Create(@"C:\test.xml", settings);
xmlDoc.Save(writer);
You control that through the XMLWriter within the Settings Property.
Check out this example along with the following references. http://msdn.microsoft.com/en-us/library/ms162618.aspx
Refernces http://msdn.microsoft.com/en-us/library/system.xml.xmlwriter.aspx http://msdn.microsoft.com/en-us/library/system.xml.xmlwritersettings.aspx http://msdn.microsoft.com/en-us/library/system.xml.xmlwritersettings.newlinehandling.aspx
Probably too late, but I referred to the solution given by Arvo Bowen. Arvo's solution is in C#, I wrote the same in Powershell Syntax
# $dest_file is the path to the destination file
$xml_dest = [XML] (Get-Content $dest_file)
#
# Operations done on $xml_dest
#
$settings = new-object System.Xml.XmlWriterSettings
$settings.CloseOutput = $true
$settings.Indent = $true
$writer = [System.Xml.XmlWriter]::Create($dest_file, $settings)
$xml_dest.Save($writer)
$writer.Close()
It solved my two problems:
<tag1>$null</tag1>
would actually be written in file as <tag />
Refer this thread:
Can we force XmlWriter to issue <my-tag></my-tag> rather than <my-tag/>?