J'essaie d'utiliser l'API domainpeople.com et d'utiliser XML.Xdocument n'imprime pas la déclaration
Actuellement, j'ai une erreur en disant "apiProtocol n'est pas trouvé" Je suppose que mon document XML est mal formé.
Le xml est envoyé:
<apiProtocol version="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNameSpaceSchemaLocation="checkrequest.xsd">
<checkRequest user="ifuzion" password="fish4gold121" reference="123456789">
<domain name="google.com" />
</checkRequest>
</apiProtocol>
Apparemment, la partie <?xml?>
n'imprime pas.
Mon code est fondamentalement quelque chose de semblable à:
XDocument xDocument = new XDocument(
new XDeclaration("1.0", "UTF-8", "yes"),
new XElement("Books"));
(je retirai mon code pour une question de simplicité, mais la structure est exactement similaire).
Y a-t-il une raison pour laquelle XDocument n'imprime pas la pièce <?xml?>
? Il semble qu'avec XmlDocument cela fonctionne mais pas avec XDocument ... des indices?
Eh oui juste vu que je avais besoin d'un StringWriter .... autre que cela, il semble que je peux mettre quelque chose dans le type d'encodage pour la déclaration, il utilisera toujours UTF-16 ... recherche actuellement pour résoudre ce problème – Erick
Did yo Vous trouvez un correctif pour le problème UTF-16? Je ressens la même chose. Je suppose que c'est parce que les chaînes dans .NET sont UTF-16, et si vous ne cryptez pas sur une séquence d'octets, ce sera toujours UTF-16? – User
Il semble que la réponse de Mörk offre un correctif potentiel (http://stackoverflow.com/questions/1060164/xdocument-does-not-print-declaration/1060282#1060282), mais vous devez traduire manuellement entre un 'XDeclaration.Encoding 'string et un format' Encoding' de sortie réel. – patridge