Sto cercando di leggere un documento XML senza espandere le entità, apportare alcune manipolazioni ad esso e ri-salvarlo con le entità non espanse come erano inizialmente.Evita XmlTextReader da entità espandibili
Quando si utilizza direttamente l'XDocument, non riesce a caricare, un'eccezione mi dica che ha espanso entità:
XDocument doc = XDocument.Load(file); // <--- Exception
// ... do some manipulation to doc
doc.Save(file2);
Eccezione: riferimento a un'entità non dichiarata 'EntityName'.
Poi ho cercato di passare il XmlTextReader
al costruttore XDocument
, ma la proprietà EntityHandling
non avere "nessuna espandere":
XmlTextReader xmlReader = new XmlTextReader(file));
xmlReader.EntityHandling = EntityHandling.ExpandCharEntities;
XDocument doc = XDocument.Load(xmlReader);
Inoltre, ho guardato la funzione XmlReader.Create, ma MSDN dice: "i lettori creati con il metodo Crea espandono tutte le entità".
Come posso creare un XmlReader che non espanda entità o che abbia un XDocument con entità non espanse?
Questo non ha senso. – harpo