programing

XML에서 C# 클래스 생성

sourcejob 2023. 5. 29. 10:37
반응형

XML에서 C# 클래스 생성

XML 파일에서 C# 클래스를 생성할 수 있습니까?

VS 2012 이상 버전에서 .NET 4.5 프로젝트를 수행하는 경우 XML 파일을 클래스로 특수 붙여넣기만 하면 됩니다.

  1. XML 파일의 내용을 클립보드에 복사
  2. 편집기에서 클래스를 붙여넣을 위치를 선택합니다.
  3. 메뉴에서 다음을 선택합니다.EDIT > Paste Special > Paste XML As Classes

예, xsd를 사용합니다.exe

D:\temp>xsd test.xml
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 4.0.30319.1]
Copyright (C) Microsoft Corporation. All rights reserved.
Writing file 'D:\temp\test.xsd'.

D:\temp>xsd test.xsd /classes
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 4.0.30319.1]
Copyright (C) Microsoft Corporation. All rights reserved.
Writing file 'D:\temp\test.cs'.

메모들

개발자 명령 프롬프트에서 디렉토리를 변경하는 방법에 대해 d:\temp로 답변하는 것이 유용할 수 있습니다.

다차원 배열에 대한 클래스를 생성하는 경우 XSD.exe 생성기에 버그가 있지만 해결 방법이 있습니다.

처음에 저는 페이스트 스페셜이 성배인 줄 알았어요!하지만 저는 그것을 시도했고 제 머리는 인디아나 존스 영화처럼 하얗게 변했습니다.

하지만 지금은 http://xmltocsharp.azurewebsites.net/ 을 사용하고 있고, 지금은 여전히 젊습니다.

다음은 생성된 부분입니다.

namespace Xml2CSharp
{
    [XmlRoot(ElementName="entry")]
    public class Entry {
        [XmlElement(ElementName="hybrisEntryID")]
        public string HybrisEntryID { get; set; }
        [XmlElement(ElementName="mapicsLineSequenceNumber")]
        public string MapicsLineSequenceNumber { get; set; }

나도 너와 같은 문제가 있어서 나만의 프로그램을 쓰기로 했어요.

저에게 "xml -> xsd -> classes" 경로의 문제는 그것이 완전히 유지할 수 없는 코드 덩어리를 생성했고 결국 그것을 터프하게 되었다는 것입니다.

그것은 결코 우아하지 않지만 저에게는 효과가 있었습니다.SimpleXmlToCode는 여기에서 구할 수 있습니다.

마음에 드신다면 제안을 해주세요.

svcutil(svcutil 질문)을 고려해야 합니다.

xsd.exe 및 svcutil은 모두 XML 스키마 파일(.xsd)에서 작동합니다.XML은 이 두 도구 중 하나에서 사용할 스키마 파일을 준수해야 합니다.

이를 위한 다양한 타사 도구도 존재합니다.

당신은 다린이 제안한 대로 xsd를 사용할 수 있습니다.

또한 test.xsd-file을 편집하여 보다 합리적인 스키마를 만드는 것이 좋습니다.

type="xs:string"로 변경 가능type="xs:int"정수 값의 경우
minOccurs="0"로 변경 가능minOccurs="1"필드가 필요한 경우
maxOccurs="unbounded"로 변경 가능maxOccurs="1"하나의 항목만 허용되는 경우

데이터의 유효성을 추가로 검사하려는 경우 고급 xsd-s를 생성할 수 있지만 생성된 c#에서 최소한 합리적인 데이터 유형을 제공합니다.

아래 구문을 사용하여 XSD 파일에서 스키마 클래스를 만듭니다.

C:\xsd C:\Test\test-Schema.xsd /classes /language:cs /out:C:\Test\

조금 전에 이 사이트를 찾았습니다.XML 및 JSON을 C# 및 Java 클래스로 변환합니다.필요에 따라 조정할 수 있는 몇 가지 옵션이 있습니다.저는 그것을 꽤 자주 사용합니다.https://json2csharp.com/xml-to-csharp

XML을 C# 클래스로 변환하는 방법

  • Microsoft Visual Studio Marketplace로 이동합니다. -- https://marketplace.visualstudio.com
  • 검색 줄에 텍스트를 입력합니다. -- xml to class class code tool
  • 앱 다운로드, 설치 및 사용

참고: 시간이 지남에 따라 이 앱은 대체될 수 있지만, 동일한 작업을 수행하는 다른 도구가 있을 가능성이 높습니다.

언급URL : https://stackoverflow.com/questions/4203540/generate-c-sharp-class-from-xml

반응형