어떻게 지도 XML C#체
-
01-07-2019 - |
문제
나 XML 원하는 부하를 조작하는 해당 개체(설정 값의 값을 읽)및 그들 Xml 다.그것은 중요한 XML 구조(xsd)내가 만들어집니다.
을 하는 것은 쓰는 내 자신의 serializer 지만,거기에 대한 지원 내장 또는 열 소스에서 C#는 내가 사용할 수 있습니까?
해결책
생성할 수 있습니다 serializable C#클래스에서 스키마(xsd)용 xsd.exe:
xsd.exe dependency1.xsd dependency2.xsd schema.xsd /out:outputDir
는 경우 스키마에 종속성(포/수입된 스키마),그들이 모두 포함해야 합니다에 같은 명령 라인입니다.
다른 팁
이 코드(C#DotNet1.0 이후)작품을 아주 잘 직렬화하여 대부분의 개체를 XML.(다시) 그것은 작동하지 않는 객체에 대한 포함하는 ArrayLists 고,가능하면 스틱을 사용하여 단지 배열
using System;
using System.IO;
using System.Text;
using System.Xml.Serialization;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
public static string Serialize(object objectToSerialize)
{
MemoryStream mem = new MemoryStream();
XmlSerializer ser = new XmlSerializer(objectToSerialize.GetType());
ser.Serialize(mem, objectToSerialize);
ASCIIEncoding ascii = new ASCIIEncoding();
return ascii.GetString(mem.ToArray());
}
public static object Deserialize(Type typeToDeserialize, string xmlString)
{
byte[] bytes = Encoding.UTF8.GetBytes(xmlString);
MemoryStream mem = new MemoryStream(bytes);
XmlSerializer ser = new XmlSerializer(typeToDeserialize);
return ser.Deserialize(mem);
}
사 xsd.exe 명령행 프로그램을 함께 제공되는 visual studio 을 만들기 클래스 파일에 사용할 수 있는 프로젝트/솔루션 및 시스템입니다.Xml.Serialization 네임스페이스(특히,XmlSerializer 등)직렬화/deserialze 해당 클래스에서 디스크에 있습니다.
사용하는 시스템입니다.Xml.직렬화이는 네임스페이스는 모든 속성해야 합려면 지도 xml 을 임의의 개체입니다.또는 사용할 수 있습니다 xsd.exe 도구
xsd 파일입니다.xsd{/클래스|/데이터 집합}[/소:요] [/언어:한국어][/네임스페이스:네임스페이스] [/outputdir:directory][URI:uri] 는 걸릴 것입니다 xsd 파일을 만들 c#나 vb.net 클래스가 있습니다.
http://msdn.microsoft.com/en-us/library/x6c1kb0s(VS.71).aspx
I agree xsd 입니다 정말로요.하지만 그들이 또 다른 버전는 거의 사람에 대해 알고 있다.라 xsd 개체 생성기입니다.그 다음 버전은 방법은 더 많은 옵션이 있습니다.이 생성하는 파일에서 XSD 및 작동이 환상적입니다.이 있는 경우 스키마 생성기 다음과 같 XML 스;create an xsd 에서는 xml 및 이 도구를 사용하실 수 있습니다.내가 만들어진 매우 매우 복잡한 클래스를 사용하여 이 도구입니다.을 만든 다음 부분 클래스에 대한 추가 properties\방법 등,그 후 업데이트할 때 사용자 스키마 당신은 단지 회복이 당신의 클래스고 어떤 편집을 지속의 부분됩니다.
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=7075
xsd.exe 에서 Microsoft 가:| 이 시도 오픈 소스 진주 http://xsd2code.codeplex.com/
우리가 만든 프레임워크할 수 있는 자동 생성하는 C#클래스의 XML.그 visual 항목 템플릿을 통과하는 XML 고 클래스들은 자동으로 생성에서 귀하의 프로젝트입니다.를 사용하여 이러한 클래스를 만들 수 있습/읽기/쓰기 XML.
이 링크를 확인에 대한 프레임워크 및 Visual C#항목 템플릿: 여기를 클릭
내 NetDataContractSerializer 할 수 있습니다.