XML problèmes de copie de fichier c# “document XML doit avoir un élément de niveau supérieur. Erreur de traitement de la ressource ”

Dans mon programme, je vérifie pour voir si un fichier xml existe. Si le fichier n'existe pas, il suffit de créer dans le répertoire spécifié, alors essayez de copier le contenu d'un autre document xml dans le fichier xml. De même, si le fichier existe, je vais copier le contenu d'un autre fichier et d'écraser le fichier existant. Quand je lance mon application et vérifier le répertoire, le fichier que je veux à l'extérieur de code xml copié dit aussi "document XML doit avoir un élément de niveau supérieur. Erreur de traitement de la ressource".

Pour l'instant j'ai essayé : Système.IO.Fichier.Copier(sourceFile, targetPath); pour la copie de fichier.

mon bloc de code ressemble à ceci:

string sourceFile= "C:\\fileIWantToCopy.xml;
string targetpath= "C:\\NeedsFilledWithSourceContents.xml;

if (File.Exists(targetPath) == false) {
    File.Create(targetPath);
    System.IO.File.Copy(sourceFile, targetPath, true);
} else {
    System.IO.File.Copy(sourceFile, targetPath, true);
}

XDoc.Save(String.Format(targetPath));

De nouveau j'ai juste besoin de quelques conseils sur comment je peux copier le contenu d'un fichier xml vers un autre frais, nouvellement créé, sans le "document XML doit avoir un élément de niveau supérieur. Erreur de traitement de la ressource" erreur. Ma première ligne de la source xml doc est :

< ? xml version="1.0" encoding="utf-8" ? >

procède ensuite à l'typiques de la tête et le corps de la construction.

Dois-je écrire le contenu dans le fichier avant que je puisse copier quoi que ce soit de l'un à l'?

Grâce

  • Le <? ... ?> n'est pas un élément XML. Chaque document XML doit avoir exactement un élément racine. Si vous avez <head>...</head><body>...</body>, alors il y a deux éléments de niveau supérieur, ce qui n'est pas valide.
  • Qu'est-ce que XDoc exactement? on dirait que vous essayez de sauver quelque chose dans un fichier, mais nous ne savons pas ce que c'est, ni pourquoi vous copiez un fichier de la première...
  • Vous êtes les bienvenus. Aussi, puisque vous êtes nouveau à StackOverflow, je tiens à vous informer que vous pouvez upvote les bonnes réponses, et accepter la réponse qui vous a aidé le plus, en cochant la coche en regard de la Réponse. Sur ce site un upvote ou accepté de répondre à compte comme une "grâce".
InformationsquelleAutor J.C.Morris | 2012-06-29