Я пытаюсь прочитать документ XML без расширения сущностей, выполнить некоторые манипуляции с ним и повторно сохранить его с неразвернутыми сущностями, какими они были изначально.
При непосредственном использовании XDocument происходит сбойчтобы загрузить, выдав исключение, скажите, что у него есть нерасширенные сущности:
XDocument doc = XDocument.Load(file); // <--- Exception
// ... do some manipulation to doc
doc.Save(file2);
Исключение: ссылка на необъявленную сущность 'entityname'.
Затем я попытался передатьXmlTextReader
в конструктор XDocument
, но свойство EntityHandling
не имеет "без раскрытия":
XmlTextReader xmlReader = new XmlTextReader(file));
xmlReader.EntityHandling = EntityHandling.ExpandCharEntities;
XDocument doc = XDocument.Load(xmlReader);
Кроме того, я рассмотрел функцию XmlReader.Create, но MSDN говорит: "считыватели, созданные методом Create, раскрывают все сущности ".
Как создать XmlReader, который не расширяет сущности, или иметь XDocument с неразвернутыми сущностями?