xsd.exe csxsd.exe 및 svcutil을 사용하여 꼬리를 쫓고 있습니다. 나는 뭔가를 놓치고 있어야합니다. 난 그냥 기본 속성과 목록 또는 [] 기본 개체를 원한다. 내가 뭘 놓치고 있니?간단한 XML에서 간단한 C# 클래스를 얻는 방법?
내가 얻는 xsd는 지나치게 복잡하며 개체에는 목록 또는 배열이 포함되어 있지 않습니다.
감사합니다,
xsd.exe csxsd.exe 및 svcutil을 사용하여 꼬리를 쫓고 있습니다. 나는 뭔가를 놓치고 있어야합니다. 난 그냥 기본 속성과 목록 또는 [] 기본 개체를 원한다. 내가 뭘 놓치고 있니?간단한 XML에서 간단한 C# 클래스를 얻는 방법?
내가 얻는 xsd는 지나치게 복잡하며 개체에는 목록 또는 배열이 포함되어 있지 않습니다.
감사합니다,
당신은 .XSD (스키마 파일)가 필요합니다은 xsd.exe /classes
로 사용할 수 있습니다. .xsd 파일이 없으면 like this 도구를 사용하여 파일을 생성 할 수 있습니다. 대부분의 도구는 데이터 유형에 문자열을 사용하며, 마음에 들지 않으면 생성 된 스키마를 조정할 수 있습니다.
처리해야 할 XML과 일치하는 클래스를 작성하고 직렬화를 제어하는 XML 직렬화 속성으로 표시하는 이유는 무엇입니까?
using System.IO;
using System.Xml.Serialization;
namespace AnXmlSample
{
class Program
{
static void Main(string[] args)
{
string xml = @"<document id='3'>
<name>
document name
</name>
<foo widget-id='12' >
The quick brown fox jumped over the lazy dog
</foo>
</document>" ;
StringReader sr = new StringReader(xml) ;
XmlSerializer serializer = new XmlSerializer(typeof(MyDataFromXml)) ;
MyDataFromXml instance = (MyDataFromXml) serializer.Deserialize(sr) ;
return ;
}
}
[XmlRoot("document")]
public class MyDataFromXml
{
[XmlAttribute("id")]
public int Id { get ; set ; }
[XmlElement("name")]
public string Name { get ; set ; }
[XmlElement("foo")]
public Widget Foo { get ; set ; }
}
public class Widget
{
[XmlAttribute("widget-id")]
public int id { get ; set ; }
[XmlText]
public string Content { get ; set ; }
}
}
질문은 방법입니다. 간단한 클래스를 생성하기 위해서 ... – Roger
제 경험으로 보면'xsd.exe'에 의해 생성 된 코드를 볼 때 "간단하다"라는 말은 일반적으로 생각할 수있는 형용사가 아닙니다. –
그렇다면 XML 파일로 시작해야할까요? 그리고 그 내용을 기반으로 XSD를 생성 한 다음 xsd.exe를 사용하여 C# 클래스를 생성합니다. 그렇다면 원하는 방식으로 XSD를 마크 업할 시간을 가질 수 있습니까? 여러 수준의 코드 생성을 통해 놀랍지 않게도 재미있는 결과를 얻을 수 있습니다. – Yuck
그래서 ... xsd.exe를 사용하여 xsd를 생성했지만 다음 단계에서는 클래스에서 결과를 생성하는 동안 somthing의 간단한 C# 클래스에서 자식 객체의 컬렉션을 나타내는 속성 및 속성을 사용합니다. – Roger