程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 深度解析XML的結構與類映射

深度解析XML的結構與類映射

編輯:C#入門知識

  • XML概述
  • XmlElement
  • XmlAttribute

  • InnerText
    • 類型定義與XML結構的映射
    • XmlElement
    • XmlAttribute
    {
        []
        IntValue { ; ; }
        []
        StrValue { ; ; }
    }
    
    • InnerText
    {
        []
        IntValue { ; ; }
        []
        StrValue { ; ; }
    }
    
    • 重命名節點名稱
    ()]
    {
        [()]
        IntValue { ; ; }
        [()]
        StrValue { ; ; }
    }
    
    • 列表和數組的序列化
    ()]
    : { }
    
    • 列表和數組的做為數據成員的序列化
    {
        Class3 { ; ; }
        [()]
        [()]
        List { ; ; }
    }
    
    {
        Class3 { ; ; }
        [()]
        List { ; ; }
    }
    
    • 類型繼承與反序列化
    
    
    
    
    
    
    
    
    { }
    [()]
    : {
        [()]
        AA { ; ; }
        [()]
        BB { ; ; }
    }
    [()]
    : {
        [()]
        CC { ; ; }
    
        [()]
        DD { ; ; }
    }
    {
        [(()),
        (())]
        List { ; ; }
    }
    
    • 排除不需要序列化的成員
    {
        []    IntValue { ; ; }
        StrValue { ; ; }
        Url;
    }
    
    • 強制指定成員的序列化順序
    {
        [(Order )]
        StrValue { ; ; }
        [(Order )]
        Url;
    }
    
    • 反序列化
    • XML數據讀寫代碼示例
    order GetOrderById();
    xml XmlSerialize(order, UTF8);
    order2 XmlDeserialize(xml, UTF8);
    
    System;
    SystemCollectionsGeneric;
    SystemLinq;
    SystemText;
    SystemXmlSerialization;
    SystemIO;
    SystemXml;
    
    
    {
    
    
    
    XmlSerializeInternal(stream, o, encoding)
            {
                ( o )
                    ();
                ( encoding )
                    ();
                serializer (oGetType());
                settings ();
                settingsIndent ;
                settingsNewLineChars ;
                settingsEncoding encoding;
                settingsIndentChars ;
                ( writer Create(stream, settings) ) {
                    serializerSerialize(writer, o);
                    writerClose();
                }
            }
            XmlSerialize(o, encoding)
            {
                ( stream () ) {
                    XmlSerializeInternal(stream, o, encoding);
                    streamPosition ;
                    ( reader (stream, encoding) ) {
                        readerReadToEnd();
                    }
                }
            }
            XmlSerializeToFile(o, path, encoding)
            {
                ( IsNullOrEmpty(path) )
                    ();
                ( file (path, Create, Write) ) {
                    XmlSerializeInternal(file, o, encoding);
                }
            }
            T XmlDeserializeT(s, encoding)
            {
                ( IsNullOrEmpty(s) )
                    ();
                ( encoding )
                    ();
                mySerializer ((T));
                ( ms (encodingGetBytes(s)) ) {
                    ( sr (ms, encoding) ) {
                        (T)mySerializerDeserialize(sr);
                    }
                }
            }
            T XmlDeserializeFromFileT(path, encoding)
            {
                ( IsNullOrEmpty(path) )
                    ();
                ( encoding )
                    ();
                xml ReadAllText(path, encoding);
                XmlDeserializeT(xml, encoding);
            }
        }

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved