8
votes

Créer un fichier XML avec XMLWriter

J'ai des problèmes avec la méthode de création dans xmlwriter.

Même lorsque j'utilise l'exemple de MSDN, cela ne fonctionnera pas. http://msdn.microsoft.com/en-us/library/kcsse48t.aspx

J'ai créé un projet "Pages vierges", pour une application Windows Store. Dans yv, j'ai inséré le code exemple de MSDN, pour tester la manière dont la classe XMLWriter fonctionne.

vs me donne l'erreur: xxx

Ceci fonctionne sans un problème dans une application de console. Mais je dois faire une application Windows Store.

Ce que je souhaite finir de faire, ajoute à un fichier XML existant.

peut-on me dire pourquoi cela ne fonctionne pas, Ou comment atteindre mon objectif d'une manière différente.

Merci pour votre temps.

EDIT:

Désolé, mon code: < Pré> xxx


7 commentaires

et message d'erreur complet


Désolé, j'ai ajouté mon code.


Ma boule de cristal a dit que vous avez probablement oublié d'ajouter à l'aide de system.xml;


Il semble avoir plusieurs candidats, il y a un conflit. Montrez votre utilisation de vos états et tout le message d'erreur.


Il n'y a vraiment rien de mal avec à l'aide de (xmlwriter Writer = xmlwriter.create ("sortie.xml")) , j'ai exécuté une demande d'application de la console à l'aide de celui-ci maintenant. Vous manquez une référence comme @Reniuz mentionné?


Merci pour les réponses. Et désolé pour les informations manquantes. C'est mon premier post. J'ai maintenant ajouté tout le code de mon projet. Si cela fonctionne uniquement avec les applications de console?


Il y a un mystère ici. Pouvez-vous ajouter une photo d'écran de votre code et créer une erreur?


5 Réponses :


1
votes

Cela pourrait être utile, xxx


3 commentaires

Merci pour votre suggestion. Cependant, cela me donne le même résultat. Testez-vous dans une demande de console?


Oui, et il fonctionne correctement dans l'application de la console, essayez d'utiliser ceci, xmltextwriter w = nouveau xmltextwriter ("test.xml", encoding.utf8); w.writestartelement ("root"); w.wrimetttributstring ("xmlns", "x"); w.writestartelement ("item1"); w.writendelement (); w.writestartelement ("item2"); w.writendelement (); Ou utilisez ce lien Stackoverflow.com/Questtions/24615574/...


la réponse fournie par Patrice Gahide est absolument juste




3
votes

Ceci est une application Windows Store, n'est-ce pas? Modifiez vos balises de questions et essayez ceci: xxx

Vous pouvez supprimer les qualificatifs d'espaces de noms une fois que vous savez que cela fonctionne.

vérifier Ce Pour savoir comment stocker des fichiers dans les applications Windows Store. Regardez également Ceci pour des échantillons. Mon code utilisera le dossier de l'application local, c'est-à-dire quelque chose comme: c: \ users \ [nom] \ appdata \ local \ packages \ [Appname] \ localstate \


5 commentaires

Oui. C'est une application Windows Store. Ive seulement utilisé C # depuis un mois ou donc, donc je ne savais pas que cela faisait une différence. En outre, votre solution semble fonctionner. Cependant, aucun fichier ne montre. Dans le code // FOOK CODE ZONE, I MONTÉ DANS LE CODE CODE WRITRY.WRITESTELTEMENT CODE Stuff de la exemple MSDN


Le fichier sera stocké dans votre dossier de stockage local, par exemple. "C: \ users \ [nom] \ appdata \ local \ packages \ [AppName] \ lo calstate \"


J'ai mis à jour ma réponse pour inclure un lien sur le stockage de fichiers dans les applications Windows Store.


Ce n'est pas là, du tout. Un ami vient de me dire qu'il n'est pas possible d'enregistrer des fichiers XML dans le dossier racine. Et m'a lié à des informations sur la classe de stockage. Je suppose que je vais faire fonctionner votre code, lorsque je fixe l'emplacement, il est enregistré. Merci pour ton aide


@MortentOUDAHL J'ai commis une erreur dans mon précédent commentaire concernant l'emplacement du fichier. Je l'ai mis à jour.



0
votes

dans Visual Studio, est arrivé au menu afficher kbd> et choisissez navigateur d'objet kbd>.

Rechercher System.xml code> dans la main gauche Volez et naviguez sur le suivant P>

1. System.Xml
    - System.Xml
       - XmlWriter


2 commentaires

En fait, je ne vois pas de créer (chaîne). J'ai .NET 4.5 et 4.5.1


Merci pour la suggestion, mais en utilisant (xmlwriter Writer = xmlwriter.create ("sortie.xml", nouvelle xmlwrittersettings ())) donne la même erreur que mon code d'origine



0
votes

Parce que vous avez écrit: j'ai créé une "page vierge" pour une application Windows Store . Le problème est que cette méthode n'est pas prise en charge dans Bibliothèque de classe portable .NET pour les applications Windows Store . Si vous comparez créer (flux) et Créer (String) Informations sur la version dans la documentation Vous verrez que Create (String) n'est pas pris en charge dans votre cadre sélectionné.


1 commentaires

Puis-je corriger cela? Si c'est le cas, comment?