Я пытаюсь прочитать 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 с нерасширенными сущностями?