Comment imprimer En utilisant XDocument

Existe-t-il un moyen d’imprimer la version XML de XDocument lors de l’utilisation de la méthode ToSsortingng? Avoir quelque chose comme ça:

    ... 

J’ai ce qui suit:

 var xdoc = new XDocument(new XDocumentType("Response", null, null, "\n"), ... 

qui affichera ce qui est bien, mais il manque la “version <? xml" comme indiqué ci-dessus.

    ... 

Je sais que vous pouvez le faire en le produisant manuellement moi-même. Je voulais juste savoir si c’était possible en utilisant XDocument.

En utilisant XDeclaration. Cela va append la déclaration.

Mais avec ToSsortingng() vous n’obtiendrez pas la sortie souhaitée.

Vous devez utiliser XDocument.Save() avec l’une de ses méthodes.

Échantillon complet:

 var doc = new XDocument( new XDeclaration("1.0", "utf-16", "yes"), new XElement("blah", "blih")); var wr = new SsortingngWriter(); doc.Save(wr); Console.Write(wr.ToSsortingng()); 

C’est de loin le meilleur moyen et le plus facile à gérer:

 var xdoc = new XDocument(new XElement("Root", new XElement("Child", "台北 Táiběi."))); ssortingng myssortingng; using(var sw = new MemoryStream()) { using(var strw = new StreamWriter(sw, System.Text.UTF8Encoding.UTF8)) { xdoc.Save(strw); myssortingng = System.Text.UTF8Encoding.UTF8.GetSsortingng(sw.ToArray()); } } 

et je le dis simplement parce que vous pouvez changer l’encodage en changeant .UTF8 en .Unicode ou .UTF32

Il suffit de taper ceci

 var doc = new XDocument ( new XDeclaration ("1.0", "utf-16", "no"), new XElement ("blah", "blih") ); 

Et vous obtenez

  blih 

VB.NET Solution CODE

Code

  Dim _root As XElement =  Dim _element1 As XElement = i am element one Dim _element2 As XElement = i am element one _root.Add(_element1) _root.Add(_element2) Dim _document As New XDocument(New XDeclaration("1.0", "UTF-8", "yes"), _root) _document.Save("c:\xmlfolder\root.xml") 

Note de sortie (veuillez ouvrir la sortie dans le bloc-notes)

    i am element one i am element one