Intento usar la API de domainpeople.com y para hacerlo necesito usar XML.Xdocument no imprime la declaración
Actualmente tengo un error que dice "apiProtocol no se encuentra" Supongo que mi documento Xml está mal formado.
El XML actual es enviado:
<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>
Al parecer la parte <?xml?>
no imprime.
Mi código es básicamente algo similar a:
XDocument xDocument = new XDocument(
new XDeclaration("1.0", "UTF-8", "yes"),
new XElement("Books"));
(Me desnudé mi código por una cuestión de simplicidad, pero la estructura es exactamente similar).
¿Hay alguna razón por la cual XDocument no imprime la parte <?xml?>
? Parece que con XmlDocument funciona, pero no con XDocument ... ¿alguna pista?
Sí acaba de ver que necesitaba un StringWriter .... Aparte de eso, parece que puedo poner cualquier cosa en el tipo de codificación para la declaración que todavía usará UTF-16 ... actualmente buscando arreglar ese – Erick
. ¿encuentra una solución para el problema UTF-16? Yo experimento lo mismo. Supongo que es porque las cadenas en .NET son UTF-16, y si no estás codificando para una secuencia de bytes, ¿siempre será UTF-16? – User
Parece que la respuesta de Mörk ofrece una solución potencial (http://stackoverflow.com/questions/1060164/xdocument-does-not-print-declaration/1060282#1060282), pero debe traducir manualmente entre una 'XDeclaration.Encoding 'cadena y una salida real' Formato de codificación '. – patridge