Принуждение XDocument. ToString () для включения закрывающего тэга, когда нет никаких данных

У меня есть XDocument, который похож на это:

 XDocument outputDocument = new XDocument(
                new XElement("Document",
                    new XElement("Stuff")
                )
            );

Это, когда я звоню

outputDocument.ToString()

Выводы к этому:

<Document>
    <Stuff />
</Document>

Но я хочу, чтобы это было похоже на это:

<Document>
    <Stuff>
    </Stuff>
</Document>

Я понимаю, что первый корректен, но я требуюсь произвести его этот путь. Какие-либо предложения?

11
задан Jason More 22 June 2010 в 15:25
поделиться

1 ответ

Установите свойство Value каждого пустого XElement конкретно на пустую строку.

    // 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;
        }
    }
13
ответ дан 3 December 2019 в 08:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: