Je dois supprimer le tag "image" avec regex.Suppression de la balise xml avec regex
Je travaille avec C# .Net
exemple <rrr><image from="91524" to="92505" /></rrr>
devrait devenir:
<rrr></rrr>
Toute personne ???
Je dois supprimer le tag "image" avec regex.Suppression de la balise xml avec regex
Je travaille avec C# .Net
exemple <rrr><image from="91524" to="92505" /></rrr>
devrait devenir:
<rrr></rrr>
Toute personne ???
Vous ne devriez pas vraiment utiliser regex pour cette tâche, surtout quand .NET fournit de tels outils puissants pour gérer XML:
XElement xml = XElement.Parse("<rrr><image from=\"91524\" to=\"92505\" /></rrr>");
xml.Descendants("image").Remove();
Toutefois, si vous insistez pour le faire cela avec regex, nous allons voir ce qui se passe:
string xml = "<rrr><image from=\"91524\" to=\"92505\" /></rrr>";
string output = Regex.Replace(xml, "<image.*?>", "");
Cette méthode a des problèmes bien que la première méthode permet de résoudre pour vous. Exemples de problèmes:
>
caractères dans les attributs peuvent perturber l'expression régulière.<image2 />
.<image />
et <image></image>
.Certains d'entre eux sont faciles à corriger, certains sont plus difficiles. Mais à la fin, il ne vaut pas la peine de passer du temps à améliorer la solution d'expression régulière pour gérer tous les cas particuliers lorsque la solution LINQ to XML est si simple et fait tout cela pour vous.
Essayez ceci:
<image[^>]*>
Même si XML est très régulière et souffre d'une politique draconienne « valider ou mourir », this Stack Overflow question se révélera très instructif.
Les expressions régulières sont puissantes - mais les outils XML dans .NET sont meilleurs pour cette tâche, car ils sont conçus pour gérer ce genre de chose. Vous pouvez manipuler le code XML en fonction de sa structure, ce que les expressions régulières ne peuvent pas faire car elles considèrent votre code XML comme du texte.
XML est du texte, mais c'est du texte avec une structure particulière. Profitez de cette qualité connue.
Pourquoi avez-vous besoin d'utiliser regex? – Skilldrick