2010-08-18 5 views
0

Je dois créer un document XML et le charger avec une chaîne. J'ai écrit un petit programme de test pour faire de même.Document XML Wrapping

string xmlString = "<Control1>" + 
      "\n\t<Stamp type=\"This is \n\ta test\" />" + 
      "\n</Control1>" 
XmlDocument xmlDocument = new XmlDocument(); 
xmlDocument.LoadXml(xmlString); 
Console.WriteLine(xmlDocument.InnerXml); 

La chaîne que j'ai utilisée a plusieurs nouvelles suites de lignes "\ n" (essentiellement utilisées pour l'encapsulation). Mais après avoir fait les étapes mentionnées ci-dessus, la nouvelle séquence de lignes n'est pas valable pour le document XML. La sortie est que je reçois est:

<Control1><Stamp type="This is &#xA; a test" /></Control1> 

Mais la sortie que je dois obtenir est:

<Control1> 
    <Stamp type="This is 
    a test" /> 
</Control1> 

Les pointeurs sur la façon dont je peux vous assurer que la mise en forme de la chaîne est retenue à l'intérieur du XML Document aussi.

Merci à l'avance, Kunal

+1

Vos listes d'exemples sont invisibles. – bua

+0

Plus maintenant .... – Nix

+0

'XmlDocument' est obsolète. Avez-vous essayé 'XDocument', la nouvelle API destinée à le remplacer? – Timwi

Répondre

2

Par défaut, il TRIMS sur l'espace blanc .... Série

xmlDocument.PreserveWhitespace = true; 

En savoir plus sur White Space in Attributes avant de commencer à essayer de voter contre moi ...;)

Documentation MSDN sur XMLDocument PreserveWhitespace propriété

+0

+1 pour référence à l'espace blanc dans les attributs. –