Sintomi

Quando si tenta di caricare un file XML salvato come UTF-7 (formato di codifica Unicode trasferimento), il parser XML in Internet Explorer genera il seguente messaggio di errore:

Non valido al livello superiore del documento.

Lo stesso errore si verifica anche quando si utilizza il parser MSXML da uno script lato server o lato client.

Causa

Versioni del parser MSXML prima MSXML 2.6 non supportano UTF-7.

Risoluzione

Per risolvere questo problema, salvare i documenti XML come UTF-8, il formato di codifica di trasferimento migliore per Unicode.MSXML 2.6 o versione successiva supporta la codifica UTF-7.

Stato

Si tratta di un comportamento correlato alla progettazione del prodotto.

Ulteriori informazioni

Sebbene Unicode è un carattere uniforme impostato che rappresenta quasi tutte le lingue del mondo, vi sono molte le rappresentazioni in byte o formati di trasformazione, che è possibile utilizzare un file Unicode. Il formato più diffuso è UTF-8, che rappresenta i caratteri Unicode come una sequenza di uno a quattro byte a 8 bit. UTF-7 è un formato di trasformazione 7 bit definito per consentire di passare attraverso il gateway di posta che si presume che ASCII e rimuove il bit principale dei messaggi di testo di testo Unicode. Basata sullo standard XML 1.0, sezione 4.3.3, un file XML valido è necessario essere uno dei seguenti:

  • Un file Unicode in formato UTF-8.

  • Un file Unicode in formato UTF-16.

  • Un file in alcuni altri la codifica dei caratteri (ad esempio ASCII) che ha come i primo byte di

UTF-7 non utilizza l'ordine dei byte. Inoltre, UTF-7 converte il codice XML speciale carattere <+ ADw, che finisce per essere il primo carattere dell'UTF-7 codifica documento XML. Poiché non è compatibile con lo standard XML, MSXML rifiuta di caricare tali file. Molti editor di testo e i programmi di elaborazione testi consentono di salvare i file di testo Unicode, noti come testo codificato in Microsoft Word, in molte codifiche di trasferimento differenti, tra cui UTF-7. Pertanto se si salva un documento di Word come "testo codificato UTF-7", MSXML rifiuterà di caricarlo per tali motivi.

Procedura per riprodurre il comportamento

  1. Creare un semplice file XML in Word 2000:

    <?xml version="1.0"?><MyTag><EmbeddedTag name1="value"/></MyTag>
  2. Salvare il file come testo codificato. Quando Word viene richiesto se si desidera perdere la formattazione, fare clic su Sì. Verrà quindi chiesto per un formato di codifica da utilizzare. Selezionare UTF-7e quindi salvare il documento come nome file TestUTF7.xml.

  3. Caricare il nome di file cap TestUTF7.xml in Internet Explorer 5. Viene visualizzato il seguente messaggio di errore:

    Non valido al livello superiore del documento. Riga 1, posizione 1 + ADw-? xml versione + AD0AIg - 1.0 + ACI-? + AD4-.

Riferimenti

Per la versione più recente Microsoft Global Software Development http://www.unicode.org/ per lo Unicode Standard più recente.Per ulteriori informazioni sullo sviluppo di soluzioni basate sul Web per Microsoft Internet Explorer, visitare i seguenti siti Web Microsoft:

http://msdn.microsoft.com/ie/ http://support.microsoft.com/iep(c) 2000, Microsoft Corporation, tutti i diritti riservati. Contributo di Jay Andrew Allen, Microsoft Corporation.

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.