Html entities [Résolu]

Messages postés
48
Date d'inscription
lundi 21 juillet 2008
Dernière intervention
2 octobre 2008
- - Dernière réponse : sh4gm4
Messages postés
48
Date d'inscription
lundi 21 juillet 2008
Dernière intervention
2 octobre 2008
- 8 sept. 2008 à 16:46
Salut,
j'ouvre un xml qui contient certains < et > encodé en html : &lt; et &gt;

sample:
 <tu changedate="20080807T140037Z" changeid="administrateur">
     no

    <tuv xml:lang="en">
      &lt;seg&gt;133&lt;ph type='fmt'&gt;{}&lt;/ph&gt;/&lt;ph type='fmt'&gt;{}&lt;/ph&gt;139&lt;/seg&gt;

      &lt;seg&gt;2008-02-21&lt;/seg&gt;

      <seg>RWS-DAS-Manuel-Utilisateur-D-EN</seg>
    </tuv>
    <tuv xml:lang="de">
      <seg>RWS-DAS-Manuel-Utilisateur-D-DE</seg>
    </tuv>
  </tu>

lorsque je souhaite acceder au <seg> dans  &lt;seg&gt;2008-02-21&lt;/seg&gt;

mon soft plante. je remplace pourtant les codes html par leur caractere par regex, mais en fait, ca ne change rien.

mon code de remplacement par regex :
            string strContent = File.ReadAllText(strFile);
            Regex.Replace(strContent, "&lt;(/?seg)&gt;", "<$1>");
            if (Regex.IsMatch(strContent, "<\\?xml version="\\d+\\.\\d+" encoding="utf-16"\\?>"))
            {
                using (StreamWriter swFile = new StreamWriter(strFile, false, Encoding.Unicode))
                { swFile.Write(strContent); }
            }
            else
            {
                using (StreamWriter swFile = new StreamWriter(strFile, false, Encoding.UTF8))
                { swFile.Write(strContent); }
            }

mon code d'accès au xml fonctionne trés bien quand je remplace manuellement les &gt; et &lt; par < et >
Y a t'il en c# un equivalent de htmlentities chez php ?
quelqu'un peut m'aider ?
d'avance MERCI !!
V.

-------------------------------------------------------------------
Diaboliser quelqu'un ne lui fait pas pousser les cornes et la queue...
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
48
Date d'inscription
lundi 21 juillet 2008
Dernière intervention
2 octobre 2008
3
Merci
mon code deconne car j'ai oublié une variable ...
            string strContentTMP = File.ReadAllText(strFile);
            string strContent = Regex.Replace(strContent, "&lt;(/?seg)&gt;", "<$1>");
            if (Regex.IsMatch(strContent, "<\\?xml version="\\d+\\.\\d+" encoding="utf-16"\\?>"))
            {
                using (StreamWriter swFile = new StreamWriter(strFile, false, Encoding.Unicode))
                { swFile.Write(strContent); }
            }
            else
            {
                using (StreamWriter swFile = new StreamWriter(strFile, false, Encoding.UTF8))
                { swFile.Write(strContent); }
            }

Merci moi

-------------------------------------------------------------------
Diaboliser quelqu'un ne lui fait pas pousser les cornes et la queue...

Merci sh4gm4 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 105 internautes ce mois-ci

Commenter la réponse de sh4gm4
Messages postés
48
Date d'inscription
lundi 21 juillet 2008
Dernière intervention
2 octobre 2008
0
Merci
            string strContent = File.ReadAllText(strFile);
            strContent = Regex.Replace(strContent, "&lt;(/?seg)&gt;", "<$1>");

je devais etre fatigué... (comme d'hab koi..)

-------------------------------------------------------------------
Diaboliser quelqu'un ne lui fait pas pousser les cornes et la queue...
Commenter la réponse de sh4gm4

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.