2011-02-28 1 views
9

Est-il possible d'avoir une chaîne C# multiligne contenant html?Chaîne multiligne C# avec html

Les belles œuvres suivantes:

 string output = @"Qiuck 
         brown 
         fox 
         jumps 
         over 
         the 
         lazy 
         log"; 

Mais cela ne fonctionne pas:

  string output = @"<object> 
         <node> 
         <param value=\"test\" /> 
         </node> 
         </object> 
         "; 

Cependant cet exemple similaire fonctionne, je viens de prendre à l'attribut sur param:

  string output = @"<object> 
         <node> 
         <param /> 
         </node> 
         </object> 
         "; 

Des suggestions sur la meilleure façon d'empaqueter html dans une variable de chaîne? Si ce n'est pas possible, je suppose que la prochaine meilleure méthode consiste simplement à lire à partir d'un fichier? D'autres idées?

Le problème avec l'exemple 2 semble être les guillemets échappés.

Répondre

30

Utilisez des guillemets doubles au lieu de les échapper.

string output = @"<object> 
        <node> 
        <param value=""test"" /> 
        </node> 
        </object> 
        "; 
+4

Nitpick: techniquement, il échappe toujours, seulement avec un caractère d'échappement différent :) – Thorarin

7

Utilisez "" au lieu de \". Il sortira toujours ". Lorsque vous effectuez des chaînes littérales, le caractère d'échappement n'est pas traité:

string output = @"<object> 
         <node> 
          <param value=""test"" /> 
         </node> 
        </object> 
        "; 
2

Utilisez des guillemets simples dans le paramètre.

Questions connexes