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

Scripts/Batch Discussion :

XML et caractères spéciaux


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 21
    Par défaut XML et caractères spéciaux
    Bonjour

    Je travaille actuellement sur un script PowerShell qui parcours une site intranet et génère un fichier XML assez simple avec la liste des dossiers et la liste des utilisateurs.

    Ensuite, à l'aide de ce XML, j'utilise un deuxième script PowerSHell qui lui parcours son contenu et le transforme en un fichier Excel à l'aide de l'api Excel.Application.

    Mon problème est le suivant: Certains dossiers et noms d'utilisateurs contiennent des caractère spéciaux ("&" par exemple). Ainsi, lorsque je tente dans mon deuxième script de récupérer le contenu, j'obtiens l'erreur suivante:
    Impossible de convertir la valeur «*System.Object[]*» en type «*System.Xml.XmlDocument*». Erreur*: «*Une erreur s'est produite lors de l'analyse de EntityName. Ligne 1503, position 35.*»
    Cette erreur est déclenchée sur la ligne contenant le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [xml]$xmlData = Get-Content -Path $XML_FILE_PATH
    La ligne XML correspondante est celle qui contient la valeur avec le caractère spécial ("&").

    J'ai donc essayer d'utiliser le paramètre -Encoding UTF8 lors de mon appel au Add-Content dans le premier script pour encoder mon contenu mais cela ne change rien...

    Le seul Workaround que j'ai trouvé est de remplacer manuellement dans le XML les caracète spéciaux 1 par 1 par des caractères standards. Solution très moyenne..

    Merci de votre aide.

  2. #2
    Membre émérite Avatar de suchiwa
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2010
    Messages
    435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2010
    Messages : 435
    Par défaut
    Citation Envoyé par dorion Voir le message
    Bonjour

    Je travaille actuellement sur un script PowerShell qui parcours une site intranet et génère un fichier XML assez simple avec la liste des dossiers et la liste des utilisateurs.

    Ensuite, à l'aide de ce XML, j'utilise un deuxième script PowerSHell qui lui parcours son contenu et le transforme en un fichier Excel à l'aide de l'api Excel.Application.

    Mon problème est le suivant: Certains dossiers et noms d'utilisateurs contiennent des caractère spéciaux ("&" par exemple). Ainsi, lorsque je tente dans mon deuxième script de récupérer le contenu, j'obtiens l'erreur suivante:
    Cette erreur est déclenchée sur la ligne contenant le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [xml]$xmlData = Get-Content -Path $XML_FILE_PATH
    La ligne XML correspondante est celle qui contient la valeur avec le caractère spécial ("&").

    J'ai donc essayer d'utiliser le paramètre -Encoding UTF8 lors de mon appel au Add-Content dans le premier script pour encoder mon contenu mais cela ne change rien...

    Le seul Workaround que j'ai trouvé est de remplacer manuellement dans le XML les caracète spéciaux 1 par 1 par des caractères standards. Solution très moyenne..

    Merci de votre aide.
    Bonjour Dorion,

    As tu en première ligne de ton fichier ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?xml version="1.0" encoding="utf-8" ?>

    Ensuite, est il possible d'ouvrir ton fichier en affichant l'arborescence des balises ?
    Si tu as un soucis au niveau de ton 'arcihtecture' xml, un message en noir devrait apparaitre à l'endroit érronné.

    Ensuite, une possibilité est de crééer ton fichier xml manuellement, à partir d'un notepad, et tu l'enregistres au format xml avec l'encoding qui va bien : utf-8, unicode, ANSI...
    Par défaut les fichiers txt sont créés en ANSI sous Windows 2008.

    Cordialement,
    Vincent

Discussions similaires

  1. Réponses: 6
    Dernier message: 06/08/2009, 14h18
  2. Désérialisation XML et caractères spéciaux
    Par Ldoppea dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 21/07/2009, 17h39
  3. [XML] Problème caractère spéciaux !
    Par blanchonvincent dans le forum Flash
    Réponses: 0
    Dernier message: 14/03/2008, 14h06
  4. [DOM] Erreur parser fichier xml avec caractère spéciaux
    Par turcotm dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 19/06/2006, 09h01
  5. [FLASH MX2004] petit soucis XML et caractères spéciaux
    Par Isses dans le forum Intégration
    Réponses: 20
    Dernier message: 25/04/2006, 13h24

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