Ich versuche, die domepagepeople.com-API zu verwenden, und ich muss XML verwenden.Xdocument druckt keine Deklaration
Derzeit habe ich eine Fehlermeldung, dass "apiProtocol nicht gefunden wird" Ich denke dann, dass mein Xml-Dokument fehlerhaft ist.
Die aktuelle XML gesendet ist:
<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>
Anscheinend ist der <?xml?>
Teil druckt nicht aus.
Mein Code ist im Grunde so etwas wie:
XDocument xDocument = new XDocument(
new XDeclaration("1.0", "UTF-8", "yes"),
new XElement("Books"));
(ich meinen Code für eine Frage der Einfachheit gestrippt aber die Struktur ist genau ähnlich).
Gibt es einen Grund, warum XDocument das <?xml?>
Teil nicht ausdruckt? Es scheint, dass mit XmlDocument es funktioniert, aber nicht mit XDocument ... irgendwelche Hinweise?
Yup gerade gesehen, dass ich einen String benötigt .... außer dass es scheint, dass ich alles in den Kodierungstyp für die Deklaration setzen kann, wird es immer noch UTF-16 verwenden ..., das zurzeit sucht, um das zu beheben – Erick
Did yo Finden Sie eine Lösung für das UTF-16-Problem? Ich erlebe dasselbe. Ich schätze, weil Strings in .NET UTF-16 sind, und wenn Sie nicht in eine Byte-Sequenz codieren, wird es immer UTF-16 sein? – User
Es sieht so aus, als ob Mörks Antwort eine mögliche Lösung bietet (http://stackoverflow.com/questions/1060164/xdocument-does-not-print-declaration/1060282#1060282), aber Sie müssen manuell zwischen einem 'XDeclaration.Encoding' übersetzen 'string und eine tatsächliche Ausgabe' Encoding' Format. – patridge