XmlSerializer를 사용하고 있으며, XmlSerializer를 사용하여 일부 노드의 형식을 출력하도록 재정의 또는 그 효과를 사용하는 방법이 있는지 궁금합니다.XmlSerializer에서 xml 유형을 출력합니다.
내 문제는 내가 바이트 배열을 직렬화했다는 것입니다.
class MyClass {
public string Name { get; set; }
public byte[] Bytes { get; set; }
}
일반적인 서비스에서 xml을 사용하고 있습니다. 서비스가 xml을 수집합니다.
<MyClass>
<Name>Test</Name>
<Bytes>U2NhcnkgQnVnZ2Vy</Bytes>
</MyClass>
, 실행시에 XSD, 또는 같은 어떻게 든 출력 뭔가를 생성하는 중 어떤 방법이 있습니까.
직렬화하는 클래스를 변경할 수 없지만 serializer에 재정의를 적용하거나 다른 방법으로 직렬화를 제어 할 수 있습니다.
<Bytes xsi:type='BinaryOfSomeKind'>BlahBlah</Bytes>
필자는 데이터가 어떻게 든 바이너리임을 알아야합니다.
감사합니다.
크레이그.
문제를 올바르게 이해하고 있는지 알 수 없습니다. 항상 같은 구조를 지닌 XML을 사용하고 있습니까?하지만 요소 유형이 다를 수 있습니다. –
클래스를 xml로 변환 중입니다. 수업은 제 3자가 제공합니다. 나는 xml을 가져 와서 내용을 색인하고있다. 어떤 필드가 바이너리인지 알아야합니다. xsd를 생성하는 쉬운 방법이 있다면 그것을 받아 들일 수도 있습니다. xsd를 생성하는 코드를 제공 할 수 있습니다. 아마 어리석은 질문이었을 것입니다. – Jim
클래스가 제 3 자에 의해 제공되는 경우 속성 및 속성 유형을 알고 있으므로 XML을 추론 할 수 있습니다. 수동으로 XSD를 만들 수도 있습니다. –