Tout et n'importe quoi ...(de préférence)

Blog de CLT-Services : vie de l'entreprise et infos pratiques

Sérialiser un objet en XML

Sunday, 16 November 2008 12:25 by alex

Nombreux sont les projets où on a des données à sérialiser au format XML.

Voici deux méthodes créées pour un projet qui pourraient être utilisées dans une class Helper XML.

Les deux méthodes sont génériques et permettent la validation du schéma XSD  More...

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:   ,
Categories:   CSharp
Actions:   E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed

Automatisation des tests de recette des sites Web avec MbUnit, TestDriven.Net et WatiN

Sunday, 6 January 2008 15:57 by damien

J'avais pris l'habitude d'utiliser Selenium pour tester nos sites et j'ai récemment découvert WatiN, réécriture pour .NET de WatiR. Je le trouve beaucoup plus facile à mettre en oeuvre. Petite introduction rapide avec TestDriven et MbUnit. More...

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

DesignerCategory

Wednesday, 20 June 2007 01:36 by damien

Lorsque vous implémentez une classe dérivant d’un composant, Visual Studio affiche souvent le concepteur visuel alors que vous préférez la vue code ? Un micro-tip pour forcer l’éditeur par défaut : mettez l’attribut « DesignerCategory » sur votre classe

[System.ComponentModel.DesignerCategory("code")]

public class MonPanelAMoi : System.Windows.Forms.Panel

{

#region mes propriétés

// … eluded for clarity

#endregion

}

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Categories:   CSharp
Actions:   E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed

Enlever les accents dans une chaîne (proprement)

Thursday, 17 May 2007 13:59 by damien

Super technique, trouvée par un client, pour supprimer les diacritiques dans les chaines de caracteres.

(Maintenant ce sont les clients qui m'apprennent des trucs !)

Il suffit de s'appuyer sur la page de code 1251 dans lequel les caracteres diacritiques sont codés sur 2 octets, avec un octet pour le caractere de base et un octet pour la variante ( e -> e, é, e, e, ë ...)

En repassant en ascii, on ne garde que le caractere de base :

public string RemoveDiacritics(string text)

{

  return System.Text.Encoding.ASCII.GetString(System.Text.Encoding.GetEncoding(1251).GetBytes(text));

}

 

Mots clés Technorati : , ,

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Categories:   CSharp
Actions:   E-mail | Permalink | Comments (1) | Comment RSSRSS comment feed

Convertir le jeu de caractères d'une page web téléchargée

Thursday, 8 March 2007 04:54 by damien

Suite a mon précédent post sur l'extraction des liens dans une page, je me suis penché sur le probleme de gérer les différents encodages des pages analysées. Voici un snippet de code pour convertir dans un jeu de caractere choisi les données de la page, en tenant compte du codepage du site.

private string DownloadWebPage(string uri, System.Text.Encoding targetCodePage)

{

   WebClient client = new WebClient();

   System.Text.Encoding source;

   byte[] pageData = client.DownloadData(uri);

   string contentType = client.ResponseHeaders["content-type"];

   Regex re = new Regex(";.*charset=(?.*)", RegexOptions.IgnoreCase);

   Match match = re.Match(contentType);

   if (match.Success)

     source = Encoding.GetEncoding(match.Groups["codepage"].Value);

   else

     source = client.Encoding;

   byte[] localData;

   if (targetCodePage.Equals(source))

     localData = pageData;

   else

     localData = System.Text.Encoding.Convert(source, targetCodePage, pageData);

   return targetCodePage.GetString(localData);

}

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Categories:   CSharp
Actions:   E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed

Extraire les liens d'une page web en 4 lignes de code

Thursday, 8 March 2007 03:46 by damien

Petit exemple d'utilisation des expressions régulieres pour extraire les liens d'une page web. Le principe c'est de trouver toutes les séquence <a href=....>...</a>.
L'intéret de l'exemple (qui inclut aussi le téléchargement de la page) c'est de montrer l'utilisation des expressions de remplacement nommées pour extraire des parties de la séquence trouvée (ici l'url et le texte du lien).

private string ExtractLinksInWebPage(string uri)

{

  StringBuilder results = new StringBuilder();

  WebClient client = new WebClient();

  string pageText = client.DownloadString(uri);

  Regex re = new Regex("\\[^\"']*)[\"'].*\\>(?.*)\\", RegexOptions.IgnoreCase);

  MatchCollection matches = re.Matches(pageText);

  foreach (Match match in matches)

    results.AppendLine(match.Groups["url"].Value + " => " + match.Groups["text"].Value);

  return results.ToString();

}

Exemple avec ce blog:

http://blog.expert-aspnet.fr/ => Quelques trucs que je connais en ASP.Net

#main => Aller au contenu

#blognav => Aller au menu

#search => Aller A la recherche

http://blog.expert-aspnet.fr/category/Visual-Studio => Visual Studio

http://blog.expert-aspnet.fr/tag/regexp => regexp

http://blog.expert-aspnet.fr/post/regexp-extraction-liens-page-web.html#comments => aucun commentaire

http://blog.expert-aspnet.fr/post/regexp-extraction-liens-page-web.html#pings => aucun rA©trolien

http://blog.expert-aspnet.fr/category/Les-bases => Les bases

http://blog.expert-aspnet.fr/post/expressions_resources_globales_markup_aspx.html#comments => aucun commentaire

...

http://blog.expert-aspnet.fr/tags => Tous les tags

http://www.clt-services.com => CLT-Services

http://blog.expert-sql.fr => Blog SQL Server

http://blog.expert-aspnet.fr/archive => Archives/legalnotice => Informations lA©gales

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Categories:   CSharp
Actions:   E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed

Search