Digg StumbleUpon LinkedIn YouTube Flickr Facebook Twitter RSS Reset

Lire et Convertir un attribut à partir d’un XmlElement

Utilisation,de,la,classe,'XmlTextReader',pour,lire,un,document,XML
{filelink=16405}

/*
 http://validationframework.codeplex.com/
 License:  Microsoft Permissive License (Ms-PL) v1.1
 */
using System;
using System.Xml;
 
namespace ValidationFramework.Extensions
{
    public static class XmlElementExtensions
    {
        ///
<summary>
        /// Attempts to get and convert an attribute from a <see cref="XmlElement"/>. If the item does not exist or can't be converted a
<paramref name="defaultValue"/> is returned.
        /// </summary>
 
        /// <typeparam name="T">The <see cref="Type"/> to try to convert to.</typeparam>
        ///
<param name="element">The <see cref="XmlElement"/> to extract the attribute value from.</param>
        ///
<param name="key">The key to use or the extraction</param>
        ///
<param name="defaultValue">The default value if
<paramref name="key"/> is not found.</param>
        /// <returns>The value from
<paramref name="attributes"/> if
<paramref name="key"/> exists; otherwise
<paramref name="defaultValue"/>.</returns>
        internal static T GetAttribute<T>(this XmlElement element, string key, T defaultValue)
        {
            if (!element.HasAttribute(key))
                return defaultValue;
 
            var stringValue = element.GetAttribute(key);
 
            var converter = System.ComponentModel.TypeDescriptor.GetConverter(typeof(T));
 
            if (!converter.CanConvertFrom(typeof(string)))
                return defaultValue;
 
            return (T)converter.ConvertFromString(stringValue);
        }
 
    }
}

No comments yet.

Leave a Comment