Html entities [Résolu]

sh4gm4 48 Messages postés lundi 21 juillet 2008Date d'inscription 2 octobre 2008 Dernière intervention - 1 sept. 2008 à 16:30 - Dernière réponse : sh4gm4 48 Messages postés lundi 21 juillet 2008Date d'inscription 2 octobre 2008 Dernière intervention
- 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

sh4gm4 48 Messages postés lundi 21 juillet 2008Date d'inscription 2 octobre 2008 Dernière intervention - 1 sept. 2008 à 17:48
+3
Utile
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...
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de sh4gm4
sh4gm4 48 Messages postés lundi 21 juillet 2008Date d'inscription 2 octobre 2008 Dernière intervention - 8 sept. 2008 à 16:46
0
Utile
            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.