2010-08-18 8 views

Répondre

13

Vous pouvez faire ce qui suit pour obtenir une représentation de chaîne du document XML:

XPathDocument xdoc = new XPathDocument(@"C:\samples\sampleDocument.xml"); 
string xml = xdoc.CreateNavigator().OuterXml; 

Si vous voulez que votre chaîne pour contenir une représentation complète du document XML, y compris une déclaration XML, vous pouvez utiliser le code suivant :

XPathDocument xdoc = new XPathDocument(@"C:\samples\sampleDocument.xml"); 
StringBuilder sb = new StringBuilder(); 
using (XmlWriter xmlWriter = XmlWriter.Create(sb)) 
{ 
    xdoc.CreateNavigator().WriteSubtree(xmlWriter); 
} 
string xml = sb.ToString(); 
0

Une XPathDocument est une représentation en lecture seule d'un document XML. Cela signifie que la représentation interne ne changera pas. Pour obtenir le XML, vous pouvez obtenir le document original.

Ou utilisez la méthode de 0xA3, qui passera par l'ensemble du document et l'écrire à nouveau (sortie pas nécessairement la même que l'entrée, mais structurellement et fonctionnellement égales par ailleurs, parce que certaines entrées est mis au rebut avec XDM représentation en mémoire)