Sto generando un file utf-8 XML utilizzando XDocument
.XDocument: salvataggio XML in un file senza BOM
XDocument xml_document = new XDocument(
new XDeclaration("1.0", "utf-8", null),
new XElement(ROOT_NAME,
new XAttribute("note", note)
)
);
...
xml_document.Save(@file_path);
Il file viene generato correttamente e convalidato con un file xsd con esito positivo.
Quando si tenta di caricare il file XML su un servizio in linea, il servizio indica che il mio file è wrong at line 1
; Ho scoperto che il problema è causato dalla distinta base sui primi byte del file.
Sapete perché il BOM viene aggiunto al file e come posso salvare il file senza di esso?
Come indicato nel Byte order mark Articolo Wikipedia:
Mentre standard Unicode permette BOM in UTF-8 non richiede o consiglio. l'ordine dei byte non ha significato in UTF-8 in modo da una distinta solo serve per identificare un flusso di testo o file come UTF-8 o che è stato convertito da un altro formato che ha una distinta
È un XDocument
problema o dovrei contattare i ragazzi del fornitore di servizi online per chiedere un aggiornamento del parser?
Quando lo apri con Notepad ++ è ancora in utf-8 anche usando 'new UTF8Encoding (false)'? – systempuntoout
Pensavo volessi farlo in UTF-8, solo senza il BOM? –
sì, è corretto. Stavo solo chiedendo se 'new UTF8Encoding (false)' potrebbe avere qualche altra implicazione. – systempuntoout