Erreur -1072896636 “DTD Interdit” lors de l'ouverture du fichier xml dans Excel, que dois-je faire?
J'essaie d'ouvrir un fichier XML dans Excel 2013, mais il dit qu'il ne peut pas le faire parce que "DTD interdite". J'ai cherché la solution, mais tout ce que je trouve certains morceaux de code qui sont censés résoudre le problème.
Mais je ne comprends pas du tout! Quel est le code? Je suis juste de l'ouverture du fichier, je ne suis pas l'écriture d'un programme ou quoi que ce soit. Dois-je réciter le code à haute voix avant l'ouverture d'un fichier ou quoi? Désolé, mais je trouve ça vraiment absurde.
Est-il une solution pour ouvrir le fichier sans l'écriture d'un programme pour cela? Et si non, que dois-je faire avec ce code?
Le code dont je parle est la suivante
Set xmlDoc = CreateObject("Msxml2.DOMDocument.6.0")
xmlDoc.setProperty "ProhibitDTD",False
xmlDoc.load xmltoload.xml
J'ai découvert que le fichier est peut-être censé être ouvert dans Word, Excel pas, mais le Mot 2013 me donne la même erreur.
Réponse:
Il semblait que le fichier était censé être ouvert dans Excel, après tout. J'ai trouvé sur Internet que Office 2007 et plus n'interdit pas la DTD, quelle qu'elle soit. Donc j'ai réussi a contourné le problème en ouvrant le fichier nécessaire dans Excel 2003.
OriginalL'auteur Hanako Seishin | 2014-03-14
Vous devez vous connecter pour publier un commentaire.
La solution de contournement est assez facile, ouvrez le fichier XML, et de supprimer la ligne, qui fait référence à une DTD emplacement. Excel crée un schéma XML, selon vous, le fichier XML.
OriginalL'auteur constra
Tous les documents de XML s'appuyer sur une définition de ce que les champs sont autorisés à exister et à ce que les valeurs sont autorisés à exister au sein de chacun de ces domaines. Celles-ci sont définies au sein de chaque fichier XML par un lien vers une Définition de Type de Document ("DTD") ou un fichier de Schéma XML.
Ma compréhension est que Excel 2007 et versions ultérieures ne supportent PAS la DTD. Au lieu de cela, ils attendent que votre fichier XML de référence à un Schéma XML.
Donc, votre problème sous-jacent est que votre fichier XML fait référence à un fichier DTD et vous avez besoin de convertir votre fichier DTD pour un fichier de Schéma XML (vous pouvez le vérifier en ouvrant le document avec un logiciel comme Notepad++ et en regardant le texte brut.)
Il ya beaucoup d'outils là pour vous aider à faire cela, mais, franchement, j'ai essayé de les amener tous à travailler pour quelques heures et n'ont pas encore de Excel à l'ouverture de mon XML (couru à travers ce post googler le même code d'erreur.)
Si vous essayez juste d'ouvrir un fichier XML one-off, vous ne voulez probablement pas à mettre beaucoup d'efforts, mais si j'ai trouver une solution rapide et facile, je vais venir mettre à jour.
Si vous avez juste besoin de l'ouvrir il y a un programme gratuit que vous pouvez télécharger qui convertit XML CSV:
http://xmltocsv.codeplex.com/
J'ai essayé et ça a très bien fonctionné -- obtenu mon fichier pour l'ouvrir dans Excel 2013 immédiatement. Problème résolu pour l'instant.
Bien sûr, le point de XML est que les données peuvent se rapporter à d'autres données avec un contexte et qui est perdu sans un bon schéma ou DTD du fichier. Mais si vous voulez juste le fichier pour l'ouvrir, cela devrait fonctionner pour l'instant (pour ceux qui n'ont pas encore Excel 2003 qui traînent, mais j'imagine que c'est juste comme facile pour vous.)
OriginalL'auteur Mooseknuckles
Récemment, j'ai vu cette erreur de refaire surface dans ClickOnce versions d'Excel associé avec Office365 comptes. Elle n'affecte pas les versions d'Excel sont distribués par l'intermédiaire de CD/ISO. Vous pouvez faire la différence entre les deux via des numéros de version.
Allez dans Fichier | Compte | Cliquez sur le bouton "Excel" bouton
L'erreur est déclenchée lorsque le fichier XML n'a pas de DTD et pas de fichier de Schéma XML. Lors de la tentative d'actualiser les connexions de données, vous obtenez la DTD d'erreur. Si vous avez réellement modifier le code XML de la requête, les données sera en effet mise à jour. Je pense que c'est un bug.
OriginalL'auteur mrtsherman