문제

XML 파일은 이진 통신 프로토콜 (메시지 구조)을 정의합니다.

Google의 프로토콜 버퍼 기술을 활용하고 싶습니다.

기존 코드를 사용하여 XML 파일을 객체 모델 (메모리)에로드하고 있습니다. 해당 객체 모델에서 .proto 파일을 생성하고 싶습니다.

따라서 기본적으로 내가 찾고있는 것은 .proto 파일 형식을 객체 모델로 나타내는 코드/라이브러리 (c#/. net)입니다.

나는 Jon Skeet의 Dotnet-Protobufs를 살펴 보았습니다. 나는 그것이 무엇을하는지 이해한다고 생각합니다 (.Proto 파일을 기반으로 C# 코드를 생성).

그러나 프로젝트에 사용할 수 있는지 알아 내지 못했습니다 (아마도 .proto format 객체 모델이있을 것입니다. 그러나 아마도이 형식을 구문 분석하고 쓰지 않는 코드 만있을 것입니다).

도움이 되었습니까?

해결책

protobuf-net (.NET의 내 프로토콜 버퍼 버전) 원어 프로토 파일 생성을 지원하지만 공백을 채우는 것은 어렵지 않습니다. 먼저 코어 엔진에 집중 한 다음 프로토에서 C# 생성에 집중했습니다. 객체 모델에서 프로토를 생성하기 위해 XSLT를 작성하는 것은 크게 다르지 않습니다. 그래도 며칠이 걸릴 것입니다 ... (지금은 시간이 제한되어 있습니다).

이것이 유용하다면 알려주십시오.

정보를 위해 Protobuf-Net 엔진은 대부분의 XmlSerializer 수업 (및 DataContractSerializer, 그리고 최근에 BinaryFormatter) - 따라서 귀하의 코드가 현재 XML로 작동하는 경우 Protobuf -Net에서 작동 할 수 있습니다. 물론 보증은 없습니다 ...

다른 팁

내 코드는 바이너리와 텍스트로만 직렬화되고 사형화 될 수 있습니다. 그러나 나는 믿습니다 마크 그라벨의 프로젝트 XML 기능이 있습니다. 실제로, 나는 그가 .proto 파일의 이진 버전 (protobuf로 인코딩 된)을로드하고 XML로 작성 한 다음 XSLT를 적용하는 것을 기반으로 C# 코드를 생성한다고 생각합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top