最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

.NET中XML序列化和反序列化常用類和屬性小結(jié)

 更新時間:2022年04月02日 08:36:55   作者:追逐時光者  
本文主要介紹了.NET中XML序列化和反序列化常用類和屬性小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

序列化和反序列化是指什么?

序列化(seriallization): 將對象轉(zhuǎn)化為便于傳輸?shù)臄?shù)據(jù)格式, 常見的序列化格式:二進制格式,字節(jié)數(shù)組,json字符串,xml字符串。
反序列化(deseriallization):將序列化的數(shù)據(jù)恢復(fù)為對象的過程。

XmlSerializer類

  該類用一種高度松散耦合的方式提供串行化服務(wù)。你的類不需要繼承特別的基類,而且它們也不需要實現(xiàn)特別的接口。相反,你只需在你的類或者這些類的公共域以及讀/寫屬性里加上自定義的特性。XmlSerializer通過反射機制讀取這些特性并用它們將你的類和類成員映射到xml元素和屬性(在對象和 XML 文檔之間進行序列化和反序列化操作)。

.NET-XML序列化和反序列化簡單示例代碼

using System.IO;
using System.Xml.Serialization;
 
namespace Practices.Common
{
    public class SimpleSerializer
    {
        /// <summary>
        /// Model實體對象序列化為XML字符串
        /// </summary>
        /// <typeparam name="T">對象類型</typeparam>
        /// <param name="t">Model實體對象</param>
        /// <returns></returns>
        public static string SerializeXMLL<T>(T t)
        {
            using (StringWriter sw = new StringWriter())
            {
                XmlSerializer xmlSerializer = new XmlSerializer(t.GetType());
                xmlSerializer.Serialize(sw, t);
                return sw.ToString();
            }
        }
 
        /// <summary>
        /// XML反序列化為對象
        /// </summary>
        /// <typeparam name="T">對象類型</typeparam>
        /// <param name="xml">xml字符串</param>
        /// <returns></returns>
        public static T Deserialize<T>(string xml)
        {
            XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
            StringReader stringReader = new StringReader(xml);
            return (T)xmlSerializer.Deserialize(stringReader);
        }
 
    }
}

XmlTypeAttribute類

   該類主要控制當(dāng)屬性目標(biāo)由XML序列化時生成的XML節(jié)點。

應(yīng)用示例

/// <summary>
/// Envelope
/// </summary>
[XmlType(TypeName = "envelope")]
public class CityRes
{
    public Header header { get; set; }
 
    public Response response { get; set; }
 
}

XmlElementAttribute類

   該類用于指示公共字段或?qū)傩栽赬ML序列化或反序列化包含它們的對象時表示XML元素。

應(yīng)用示例

/// <summary>
/// Envelope
/// </summary>
public class CityRes
{
    /// <summary>
    /// header
    /// </summary>
    [XmlElement("header")]
    public Header header { get; set; }
 
    /// <summary>
    /// response
    /// </summary>
    [XmlElement("response")]
    public Response response { get; set; }
 
}

XmlAttributeAttribute類

  該類指定XML序列化必須將類成員序列化為XML屬性。

應(yīng)用示例

/// <summary>
/// Version
/// </summary>
public class Version
{
    /// <summary>
    /// port
    /// </summary>
    [XmlAttribute("port")]
    public string port { get; set; }
 
    /// <summary>
    /// host
    /// </summary>
    [XmlAttribute("host")]
    public string host { get; set; }
 
    /// <summary>
    /// text
    /// </summary>
    [XmlAttribute("text")]
    public string text { get; set; }
 
}

XmlArrayAttribute類

  該類主要用于XML元素數(shù)組的應(yīng)用(相當(dāng)于就是集合的聲明)。

應(yīng)用示例

[XmlArray]
public Item []Items
{
   get{return items;}
   set{items = value;}
}

XmlTextAttribute類

  當(dāng)Xml文檔序列化或反序列化時使用該特性修飾的成員會作為XML文本處理。

應(yīng)用示例

[System.Xml.Serialization.XmlTextAttribute()]
public string[] Text
{
    get
    {
        return this.textField;
    }
    set
    {
        this.textField = value;
    }
}

XmlIgnoreAttribute類

   指示該特性修飾的對象在Xml序列化時不會序列化該特性指定的元素。

應(yīng)用示例

public class TeamGroup
{
 
   [XmlIgnore]
   public string Comment;
 
   public string GroupName;
}

用來控制XML序列化的屬性匯總

通過將下表中的特性應(yīng)用于類和類成員,可以控制 XmlSerializer 序列化或反序列化該類的實例的方式。 若要了解這些屬性如何控制 XML 序列化,請參閱使用屬性控制 XML 序列化。

特性適用對象指定
XmlAnyAttributeAttribute公共字段、屬性、參數(shù)或返回 XmlAttribute 對象數(shù)組的返回值。反序列化時,將會使用 XmlAttribute 對象填充數(shù)組,而這些對象代表對于架構(gòu)未知的所有 XML 特性。
XmlAnyElementAttribute公共字段、屬性、參數(shù)或返回 XmlElement 對象數(shù)組的返回值。反序列化時,將會使用 XmlElement 對象填充數(shù)組,而這些對象代表對于架構(gòu)未知的所有 XML 元素。
XmlArrayAttribute公共字段、屬性、參數(shù)或返回復(fù)雜對象的數(shù)組的返回值。數(shù)組成員將作為 XML 數(shù)組的成員生成。
XmlArrayItemAttribute公共字段、屬性、參數(shù)或返回復(fù)雜對象的數(shù)組的返回值。可以插入數(shù)組的派生類型。 通常與 XmlArrayAttribute 一起應(yīng)用。
XmlAttributeAttribute公共字段、屬性、參數(shù)或返回值。成員將作為 XML 屬性進行序列化。
XmlChoiceIdentifierAttribute公共字段、屬性、參數(shù)或返回值。可以使用枚舉進一步消除成員的歧義。
XmlElementAttribute公共字段、屬性、參數(shù)或返回值。字段或?qū)傩詫⒆鳛?XML 元素進行序列化。
XmlEnumAttribute作為枚舉標(biāo)識符的公共字段。枚舉成員的元素名稱。
XmlIgnoreAttribute公共屬性和公共字段。序列化包含類時,應(yīng)該忽略屬性或字段。
XmlIncludeAttribute公共派生類聲明,以及 Web 服務(wù)描述語言 (WSDL) 文檔的公共方法的返回值。生成要在序列化時識別的架構(gòu)時,應(yīng)該將該類包括在內(nèi)。
XmlRootAttribute公共類聲明。控制視為 XML 根元素的屬性目標(biāo)的 XML 序列化。 使用該屬性可進一步指定命名空間和元素名稱。
XmlTextAttribute公共屬性和公共字段。屬性或字段應(yīng)該作為 XML 文本進行序列化。
XmlTypeAttribute公共類聲明。XML 類型的名稱和命名空間。

參考文章

C#: .net序列化及反序列化

用來控制XML序列化的屬性

使用屬性控制XML序列化

微軟官方文檔-XML相關(guān)類匯總

到此這篇關(guān)于.NET中XML序列化和反序列化常用類和屬性小結(jié)的文章就介紹到這了,更多相關(guān).NET XML序列化和反序列化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • ASP.Net中的async+await異步編程的實現(xiàn)

    ASP.Net中的async+await異步編程的實現(xiàn)

    這篇文章主要介紹了ASP.Net中的async+await異步編程的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • asp.net字符串分割函數(shù)使用方法分享

    asp.net字符串分割函數(shù)使用方法分享

    這篇文章主要介紹了asp.net字符串分割函數(shù)使用方法,需要的朋友可以參考下
    2014-02-02
  • Entity?Framework代碼優(yōu)先Code?First入門

    Entity?Framework代碼優(yōu)先Code?First入門

    這篇文章介紹了Entity?Framework的代碼優(yōu)先模式Code?First,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • asp.net動態(tài)添加js文件調(diào)用到網(wǎng)頁的方法

    asp.net動態(tài)添加js文件調(diào)用到網(wǎng)頁的方法

    這篇文章主要介紹了asp.net動態(tài)添加js文件調(diào)用到網(wǎng)頁的方法,涉及asp.net動態(tài)添加js的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • Asp.Net Core輕松學(xué)習(xí)系列之配置文件

    Asp.Net Core輕松學(xué)習(xí)系列之配置文件

    這篇文章主要給大家介紹了關(guān)于Asp.Net Core輕松學(xué)習(xí)系列之配置文件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • .NET截取指定長度漢字超出部分以"..."代替 實例分享

    .NET截取指定長度漢字超出部分以"..."代替 實例分享

    .NET截取指定長度漢字超出部分以"..."代替 實例分享,需要的朋友可以參考一下
    2013-06-06
  • asp.net web.config加密解密方法

    asp.net web.config加密解密方法

    你還能夠使用aspnet_regiis.exe命令行工具來加密和解密Web.config文件配置部分,你可以在"%WINDOWSDIR%\Microsoft.Net\Framework\version"目錄下找到這個工具。
    2009-11-11
  • ASP.NET MVC自定義異常過濾器

    ASP.NET MVC自定義異常過濾器

    這篇文章介紹了ASP.NET MVC自定義異常過濾器的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • ASP.NET Identity的基本用法

    ASP.NET Identity的基本用法

    這篇文章介紹了ASP.NET Identity的基本用法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-10-10
  • ASP.NET數(shù)據(jù)綁定之GridView控件

    ASP.NET數(shù)據(jù)綁定之GridView控件

    這篇文章主要為大家介紹了ASP.NET數(shù)據(jù)綁定中的GridView控件,GridView控件的功能是在web頁面中顯示數(shù)據(jù)源中的數(shù)據(jù),對GridView控件感興趣的小伙伴們可以參考一下
    2016-01-01

最新評論

托里县| 嘉黎县| 阜平县| 武城县| 滦平县| 新干县| 北海市| 荔浦县| 绥江县| 辰溪县| 南部县| 旺苍县| 增城市| 习水县| 卫辉市| 七台河市| 夏津县| 澎湖县| 璧山县| 桓台县| 平陆县| 同心县| 高唐县| 札达县| 霍山县| 凤翔县| 重庆市| 乌审旗| 东方市| 永德县| 杭锦后旗| 涪陵区| 福清市| 合作市| 桐乡市| 德令哈市| 二连浩特市| 丹阳市| 开远市| 仁布县| 井研县|