2010-02-09 3 views
8

xsd.exe을 사용하여 .xsd 파일을 C# 클래스로 변환하려고했습니다. 그것은 효과가 있었지만,이 클래스를 사용하는 방법은 아직 확실하지 않습니다. 클래스 수준의 특성이 여러 가지 있지만 가장 흥미로운 것은 System.Xml.Serialization.XmlTypeAttribute입니다. 그 속성을 사용하는 클래스는 무엇입니까?xsd.exe/c 출력을 사용하는 방법

이 클래스의 인스턴스를 XML 문자열로 변환하는 간단한 방법이 있습니까?

답변

6

슈퍼 직선. 나는 xsd 도구를 좋아합니다. 나는 아래에서 자유를 얻었다.

//From xml to object 
YourRootType inst = new XmlSerializer(typeof(YourRootType)).Deserialize(XmlReader.Create("some.xml")); 

//From object to xml 
Using(FileStream fs = new FileStream("some.xml", FileMode.Create)) 
    new XmlSerializer(typeof(YourRootType)).Serialize(fs, inst); 
0

예. [및 원한다면 StringWriter]를보십시오.

0

일반 클래스와 같은 클래스를 사용하십시오. 그런 다음 XML로 직렬화하면 XML이 스키마에 대해 유효성을 검사합니다. 스키마에 대해 유효성을 검사하고이를 다시 클래스의 인스턴스로 역 직렬화하는 XML을 사용할 수도 있습니다.

관련 문제