> 백엔드 개발 > C++ > XML로 C# 객체를 직렬화하려면 어떻게해야합니까?

XML로 C# 객체를 직렬화하려면 어떻게해야합니까?

Patricia Arquette
풀어 주다: 2025-01-27 15:26:12
원래의
576명이 탐색했습니다.

How Can I Serialize a C# Object to XML?

C# 개체를 XML로 직렬화

이 문서에서는 상속된 C# 클래스를 XML 표현으로 직렬화하는 방법을 살펴봅니다.

C#의 XML 직렬화

객체를 효율적으로 XML로 직렬화하려면 XmlSerializer 클래스의 힘을 깊이 이해해야 합니다. 이 유틸리티는 객체 상태를 해당 XML 표현으로 변환하기 위한 원활한 메커니즘을 제공합니다.

XML 직렬화 예제 코드

다음 코드 조각은 간단한 직렬화 프로세스를 보여줍니다.

<code class="language-csharp">// 创建 MyObject 类的实例。
MyObject o = new MyObject();
// 设置 o 对象的属性。

// 为 MyObject 类型实例化 XmlSerializer。
XmlSerializer xsSubmit = new XmlSerializer(typeof(MyObject));

// 准备生成 XML 表示形式。
using (var sww = new StringWriter())
{
    using (XmlWriter writer = XmlWriter.Create(sww))
    {
        // 将对象序列化为 XML 字符串。
        xsSubmit.Serialize(writer, o);

        // 获取序列化的 XML。
        string xml = sww.ToString();
        // 对 XML 表示形式执行某些操作。
    }
}</code>
로그인 후 복사

일반 XML 직렬화

직렬화 범위를 모든 클래스로 확장하려면 다음과 같은 일반 솔루션을 활용할 수 있습니다.

<code class="language-csharp">public class MySerializer<T> where T : class
{
    public static string Serialize(T obj)
    {
        // 为指定的类型创建 XmlSerializer。
        XmlSerializer xsSubmit = new XmlSerializer(typeof(T));

        // 在 using 块中将对象序列化为 XML 字符串,以便正确管理资源。
        using (var sww = new StringWriter())
        {
            using (XmlTextWriter writer = new XmlTextWriter(sww) { Formatting = Formatting.Indented })
            {
                xsSubmit.Serialize(writer, obj);
                return sww.ToString();
            }
        }
    }
}

// 用法:传递要序列化的类的实例。
string xmlMessage = MySerializer<MyClass>.Serialize(myObj);</code>
로그인 후 복사

XML 직렬화를 사용하면 객체를 효율적으로 XML 표현으로 직렬화하여 다양한 시스템 및 애플리케이션과의 상호 운용성과 데이터 교환이 가능합니다.

위 내용은 XML로 C# 객체를 직렬화하려면 어떻게해야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿