Mega Code Archive

 
Categories / C# / XML
 

Get Value String from Xml

#region Copyright (c) 2000-2010 Developer Express Inc. /* {*******************************************************************} {                                                                   } {       Developer Express .NET Component Library                    } {                                                                   } {                                                                   } {       Copyright (c) 2000-2010 Developer Express Inc.              } {       ALL RIGHTS RESERVED                                         } {                                                                   } {   The entire contents of this file is protected by U.S. and       } {   International Copyright Laws. Unauthorized reproduction,        } {   reverse-engineering, and distribution of all or any portion of  } {   the code contained in this file is strictly prohibited and may  } {   result in severe civil and criminal penalties and will be       } {   prosecuted to the maximum extent possible under the law.        } {                                                                   } {   RESTRICTIONS                                                    } {                                                                   } {   THIS SOURCE CODE AND ALL RESULTING INTERMEDIATE FILES           } {   ARE CONFIDENTIAL AND PROPRIETARY TRADE                          } {   SECRETS OF DEVELOPER EXPRESS INC. THE REGISTERED DEVELOPER IS   } {   LICENSED TO DISTRIBUTE THE PRODUCT AND ALL ACCOMPANYING .NET    } {   CONTROLS AS PART OF AN EXECUTABLE PROGRAM ONLY.                 } {                                                                   } {   THE SOURCE CODE CONTAINED WITHIN THIS FILE AND ALL RELATED      } {   FILES OR ANY PORTION OF ITS CONTENTS SHALL AT NO TIME BE        } {   COPIED, TRANSFERRED, SOLD, DISTRIBUTED, OR OTHERWISE MADE       } {   AVAILABLE TO OTHER INDIVIDUALS WITHOUT EXPRESS WRITTEN CONSENT  } {   AND PERMISSION FROM DEVELOPER EXPRESS INC.                      } {                                                                   } {   CONSULT THE END USER LICENSE AGREEMENT FOR INFORMATION ON       } {   ADDITIONAL RESTRICTIONS.                                        } {                                                                   } {*******************************************************************} */ #endregion Copyright (c) 2000-2010 Developer Express Inc. namespace DevExpress.Xpo.Data.Services {     using System;     using System.Diagnostics;     using System.Xml;          public static class XmlUtils {         public static string GetValueString(object value) {             Debug.Assert(value != null, "value != null");             string result = null;             Type valueType = value.GetType();             valueType = Nullable.GetUnderlyingType(valueType) ?? valueType;             if (typeof(String) == valueType) {                 result = string.Format("'{0}'", ((string)value).Replace("'", "''"));             } else if (typeof(Boolean) == valueType) {                 result = XmlConvert.ToString((bool)value);             } else if (typeof(Byte) == valueType) {                 result = XmlConvert.ToString((byte)value);             } else if (typeof(DateTime) == valueType) {                 result = XmlConvert.ToString((DateTime)value, XmlDateTimeSerializationMode.RoundtripKind);             } else if (typeof(Decimal) == valueType) {                 result = XmlConvert.ToString((decimal)value);             } else if (typeof(Double) == valueType) {                 result = XmlConvert.ToString((double)value);             } else if (typeof(Guid) == valueType) {                 result = value.ToString();             } else if (typeof(Int16) == valueType) {                 result = XmlConvert.ToString((Int16)value);             } else if (typeof(Int32) == valueType) {                 result = XmlConvert.ToString((Int32)value);             } else if (typeof(Int64) == valueType) {                 result = XmlConvert.ToString((Int64)value);             } else if (typeof(SByte) == valueType) {                 result = XmlConvert.ToString((SByte)value);             } else if (typeof(Single) == valueType) {                 result = XmlConvert.ToString((Single)value);             } else if (typeof(byte[]) == valueType) {                 byte[] byteArray = (byte[])value;                 result = Convert.ToBase64String(byteArray);             } else if (typeof(System.Data.Linq.Binary) == valueType) {                 return GetValueString(((System.Data.Linq.Binary)value).ToArray());             } else if (typeof(System.Xml.Linq.XElement) == valueType) {                 result = ((System.Xml.Linq.XElement)value).ToString(System.Xml.Linq.SaveOptions.None);             } else {                 result = null;             }             Debug.Assert(result != null, "result != null");             return result;         }     } }