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