>백엔드 개발 >C++ >XML 문서를 C# 객체로 사로화하는 방법은 무엇입니까?

XML 문서를 C# 객체로 사로화하는 방법은 무엇입니까?

DDD
DDD원래의
2025-02-02 17:16:09762검색

How to Deserialize an XML Document into C# Objects?

C# xml Desorialization : XML 데이터를 객체로 변환하는

이 안내서는 XML 문서를 사막화로 알려진 프로세스 인 C# 개체로 변환하는 방법을 보여줍니다. 이 샘플 XML을 사용해 봅시다 : 이를 제외시키기 위해, 우리는 일치하는 c# 클래스를 만듭니다 :

이제 : 를 사용하여 XML을 사로화 할 수 있습니다

를 XML 파일의 실제 경로로 바꾸는 것을 잊지 마십시오. 또는 XSD : 와 관련된 2 단계 프로세스를 사용할 수 있습니다
<code class="language-xml"><?xml version="1.0" encoding="utf-8"?>
<cars>
  <car>
    <stocknumber>1020</stocknumber>
    <make>Nissan</make>
    <model>Sentra</model>
  </car>
  <car>
    <stocknumber>1010</stocknumber>
    <make>Toyota</make>
    <model>Corolla</model>
  </car>
  <car>
    <stocknumber>1111</stocknumber>
    <make>Honda</make>
    <model>Accord</model>
  </car>
</cars></code>

XSD 생성 :

XML 스키마 정의 (XSD)를 XML 파일에서 적절한 도구를 사용하여 생성 (많은 IDE는이 기능을 제공합니다).
<code class="language-csharp">[Serializable]
public class Car
{
    [System.Xml.Serialization.XmlElementAttribute("StockNumber")]
    public string StockNumber { get; set; }

    [System.Xml.Serialization.XmlElementAttribute("Make")]
    public string Make { get; set; }

    [System.Xml.Serialization.XmlElementAttribute("Model")]
    public string Model { get; set; }
}

[System.Xml.Serialization.XmlRootAttribute("Cars", Namespace = "", IsNullable = false)]
public class Cars
{
    [XmlArrayItem(typeof(Car))]
    public Car[] Car { get; set; }
}</code>

XSD에서 C# 클래스를 생성하십시오 : XmlSerializer 명령 줄 도구 (Visual Studio에 포함)를 사용하여 XSD에서 C# 클래스를 생성합니다. 이렇게하면 XML 구조를 자동으로 미러링하는 클래스가 생성됩니다. 그런 다음 위와 같이 를 사용하십시오. 이 방법은 복잡한 XML 구조에 특히 유용합니다

<code class="language-csharp">XmlSerializer serializer = new XmlSerializer(typeof(Cars));
Cars carData;
using (XmlReader reader = XmlReader.Create(xmlFilePath)) // xmlFilePath should be replaced with the actual file path
{
    carData = (Cars)serializer.Deserialize(reader);
}</code>

위 내용은 XML 문서를 C# 객체로 사로화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.