Я пытаюсь загрузить поток XML в XDocument
.Рассматриваемый XML может содержать некоторые вкладки, пробелы без перерывов и другие подобные нестандартные пробелы.Они не удаляются между элементами, несмотря на установку IgnoreWhitespace
в значение true.Это приводит к тому, что созданный XDocument содержит XText
элементов с этими значениями.
Пример XML:
<?xml version="1.0" encoding="utf-8"?>
<root>
<sample>
<value />
</sample>
</root>
После загрузки полученный XDocument.Value
должен быть пустымстрока, но вместо этого выглядит так
"\n \t\n \t "
Ничто из того, что я нашел в документации Microsoft по обработке пробелов, похоже, не касается конкретного варианта присутствующего пробела.
Я пытался использовать XmlReader
с XmlReaderSettings.IgnoreWhitespace
, установленным в true.
// body is a stream created elsewhere
XmlReaderSettings settings = new XmlReaderSettings();
settings.IgnoreWhitespace = true;
XmlReader reader = XmlReader.Create(body, settings);
XDocument doc = XDocument.Load(reader);
Я также пытался установить LoadOptions.None
.
XDocument doc = XDocument.Load(reader, LoadOptions.None);
У меня естьтакже попытался использовать XmlTextReader
XmlTextReader reader = new XmlTextReader(body);
reader.WhitespaceHandling = WhitespaceHandling.None;