IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[C#] Envoi de fichier xml


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 23
    Points : 11
    Points
    11
    Par défaut [C#] Envoi de fichier xml
    Bonjour à tous,
    J'ai un petit soucis sans doute tout bête. J'ai une application complètement dynamique qui est chargée de fabriquer dynamiquement des pages VoiceXml (on peut considérer que ce sont des pages xml).
    Je sais créer ces pages et ça marhe très bien mais je ne sais pas comment faire pour qu'elles soient accessibles par le client. en gros, je voudrais afficher ma page VoiceXml sur mon explorer sans composant particulier.
    Je me suis inspirée d'une application en PHP et ils utilisaient la fonction print mais moi, je ne sais pas quoi utiliser.
    Merci d'avance !

  2. #2
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut Re: [ASPX][C#] Envoi de fichier xml
    Citation Envoyé par minnieBis
    Je sais créer ces pages
    Tu stockes sous quelle forme?
    xmlDocument? string? ....
    Avant toutes questions, consultez nos différentes ressources disponibles gratuitement : XML, Développement Web, Flash/Flex, (X)HTML, CSS, JavaScript, AJAX, ASP
    Offres d'emploi développeur Web

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Pour le moment; j'utilise un XmlWriter et j'enregistre dans un fichier. Mais s'il faut faire autrement, dites-le moi !

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Quelqu'un doit bien avoir une petite idée ...
    Ca ne doit pas être bien compliquée mais le problème, c'est que je ne sais pas comment faire !
    Merci à tous ceux qui peuvent m'éclairer !

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Désolée mais là je suios assez bloquée et je ne sais pas comment faire.
    Toute idée est vraiment la bienvenue !

  6. #6
    Membre chevronné
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Points : 1 904
    Points
    1 904
    Par défaut
    Je fais pas d'aspx mais bon tes fichiers xml generes si ils sont bien formes et utilisables sans plugin dans un navigateur, tu les envoies aux clients grace a Response.Write ou Response.WriteFile non?

    (je crois qu'il faut specifier le format xml dans Response.ContentType)

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    J'avais justement essayé de faire cela mais il me créait une erreur à cause de la coexistance de balises html et xml.
    Voici l'erreur que j'obtenais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Un seul élément de niveau supérieur est autorisé dans un document XML. Erreur de traitement de la ressource http://localhost/Chemin.aspx. Ligne 8, Position 2
    De ce fait, je ne savais pas trop comment m'(en sortir !

  8. #8
    Membre chevronné
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Points : 1 904
    Points
    1 904
    Par défaut
    Le document que tu genere est mal forme:

    tu as
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <Element1>
    </Element1>
    <Element2>
    </Element2>
    pour que le document XML soit bien forme il faut 1 et un seul element racine:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <Racine>
       <Element1>
       </Element1>
       <Element2>
       </Element2>
    </Racine>
    Le probleme vient de ta generation, pas du fait de le passer au client (le fait de mettre du html ne pose pas de pb)

  9. #9
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Voici ce qu'il me génère (c'est du VoiceXml mais c'est pas très grave !) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    <?xml version="1.0" encoding="utf-8"?>
    <vxml version="2.0" xmlns="http://www.w3.org/2001/vxml">
    	<form id="etape0">
    		<block>
    			<prompt> L'ITINERAIRE demandé va de 
      				 Gare 
      				a 
      				Aéroport
    			</prompt>
    			<goto next="#etape1" />
    		</block>
    	</form>
    	<form id="etape1">
    		<block>
    			<prompt>
    				étape numéro 1 :
    				Segment3
    			</prompt>
    			<goto next="#fin" />
    		</block>
    	</form>
    	<form id="fin">
    		<block>
    			<prompt bargein="false">Fin du trajet</prompt>
    		</block>
    	</form>
    </vxml>
    Je ne vois pas a priori de problème de racine mais dis-moi ce que tu en penses ...

  10. #10
    Membre chevronné
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Points : 1 904
    Points
    1 904
    Par défaut
    Effectivement le document est bien forme...
    mais l'erreur dit: Ligne 8, Position 2 et ca n'a pas trop de sens

    Verifie si rien n'est ajoute avant (je pense) ou apres (peut etre aussi) quand tu l'envoie

    Mets le code utilise pour envoyer ce doc au client pour voir

  11. #11
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    En fait, je ne t'avais mis que le code xml généré, que j'ai restructuré donc c'est pour cela que la ligne 8 ne correspond à rien.
    En fait, la ligne 8 correspond à la balise html du block qu'il me met après mon code xml et qui est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <html>
    <head>
    </head>
    <body>
        <form name="_ctl0" method="post" action="CheminBis.aspx" id="_ctl0">
    <input type="hidden" name="__VIEWSTATE" value="dDwtMTI3OTMzNDM4NDs7Pk9GPunnKhhuaImsQ9tdX4I4aB3Q" />
     
            <!-- Insert content here -->
        </form>
    </body>
    </html>
    C'est peut-être la coexistance xml/html qu'il n'aime pas ??? Je trouve cela assez bizarre !

  12. #12
    Membre chevronné
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Points : 1 904
    Points
    1 904
    Par défaut
    non c'est pas la coexistance des deux standards qu'il aime pas mais la coexistance des deux racines

    je me repete en corrigeant un peu:

    tu as
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <Html>
    </Html>
    <Xml>
    </Xml>
    et ca marche pas c'est normal

    pour que le document XML soit bien forme il faut 1 et un seul element racine:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <Xml>
       <Html>
       </Html>
    </Xml>
    ou inversement

    Donc faut que tu saches ce que tu vas presenter: un document voiceXml brut ou un page html avec du VoiceXml dedans en guise de texte?

  13. #13
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    En fait, je veux seulement une page VoiceXml car elle doit être exécutée par un serveur vocal ... le problème, c'est que ce n'est pas moi qui ait ajouté les balises html. Elles sont apparues du fait que j'ai utilisé le WriteFile.

  14. #14
    Membre chevronné
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Points : 1 904
    Points
    1 904
    Par défaut
    Hehe

    (je crois qu'il faut specifier le format xml dans Response.ContentType)
    actuellement le response type doit etre html c'est pour ca qu'il te rajoute le bloc

    mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    response.ContentType="text/xml"
    juste avant d'envoyer le fichier xml, comme j'en connais de moins en moins il se peut qu'il s'amuse a genere qq chose qui existerait deja, qui sait, peut etre le <?xml version="1.0" encoding="utf-8"?>
    Dans ce cas la il te suffirait de l'enlever du fichier a envoyer

  15. #15
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Ca ne marche malheuresement toujours pas ! Il continue à me mettre les balises HTML et à me provoquer la même erreur !

  16. #16
    Membre chevronné
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Points : 1 904
    Points
    1 904
    Par défaut
    il faudrait montrer un bout de code

    idealement tu devrais avoir ca dans l'evenement Page_Load dans le code-behind:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    	    Response.ContentType = "text/xml";
    	    Response.WriteFile(PathDeTonFichierXML);
                Response.End();
    - soit ta page genere de l'html vide auquel est ajoute l'xml
    - soit le fichier dont tu fournis le path contient de l'html

    je vais pas tarder a partir si une ame charitable ne prend pas la suite je suis de retour ce soir

  17. #17
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 23
    Points : 11
    Points
    11
    Par défaut

    Merci beaucoup beaucoup beaucoup de m'avoir consacré autant de temps !
    en fait, maintenat ça marche et je crois que le problème devait venir du fait que je ne mettais pas le

    Vraiment je ne sais pas comment j'aurais pu m'en sortir !
    Merci encore !!!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. formulaire multipart/form-data envoie de fichier xml
    Par viscere dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 09/09/2010, 17h04
  2. Réponses: 21
    Dernier message: 06/02/2007, 13h05
  3. envoie fichier XML avec apartir d'une servlet
    Par s.lakhlifi dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 11/10/2006, 12h35
  4. envoi du fichier XML avec servlet
    Par s.lakhlifi dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 05/10/2006, 11h59
  5. applet envoie un fichier xml a la servlets
    Par hlaura dans le forum Applets
    Réponses: 3
    Dernier message: 25/07/2006, 10h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo