XmlDocument не сохраняет пробелы между тегами - PullRequest
4 голосов
/ 07 февраля 2011

Часть XML:

<text:p>text1 <text:span>text2</text:span> <text:span>text3</text:span>text4</text:p>

Вы можете видеть пробел между текстом: теги span с text2 и text3. Когда я вызываю метод XmlDocument.Load, у меня появляется эта картинка:

<text:p>text1 <text:span>text2</text:span><text:span>text3</text:span>text4</text:p>

Пустое пространство было удалено, но мне нужно это место в этом месте. Задать свойство "PreserveWhitespace = true" не помогает

Ответы [ 2 ]

6 голосов
/ 07 февраля 2011

PreserveWhitespace работает для меня.Мой пример кода

    string xml = "<root><p>text1 <span>text2</span> <span>text3</span>text4</p></root>";
    XmlDocument doc = new XmlDocument();
    doc.PreserveWhitespace = true;
    doc.LoadXml(xml);

    Console.Write(doc.InnerXml);

Это печатает

<root><p>text1 <span>text2</span> <span>text3</span>text4</p></root>

с пробелом между элементами span все еще там.

1 голос
/ 06 ноября 2012

Для тех, кто использует XDocument вместо XmlDocument:

XDocument.Load(xml, LoadOptions.PreserveWhitespace)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...