I have a XDocument that looks like this:
XDocument outputDocument = new XDocument(
new XElement("Document",
new XElement("Stuff")
)
);
That when I call
outputDocument.ToString()
Outputs to this:
<Document>
<Stuff />
</Document>
But I want it to look like this:
<Document>
<Stuff>
</Stuff>
</Document>
I realize the first one is correct, but I am required to output it this way. Any suggestions?
Set the Value
property of each empty XElement
specifically to an empty string.
// Note: This will mutate the specified document.
private static void ForceTags(XDocument document)
{
foreach (XElement childElement in
from x in document.DescendantNodes().OfType<XElement>()
where x.IsEmpty
select x)
{
childElement.Value = string.Empty;
}
}
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