두 가지 다른 방법으로 단일 클래스를 저장하는 C# XmlSerialization API를 사용할 수 있습니까? 내가 직렬화가 저장되는 부분을 제어하기 위해 호출 할 때마다 - 예를두 가지 다른 방법으로 하나의 클래스를 저장하는 C# xml 직렬화 - 가능합니까?
나는 두 부분으로 (지정된 속성을 가진 그룹)에 클래스 필드를 분할하는 방법을 방법을 가지고 싶습니다class Test
{
int group1_attr1;
int group1_attr2;
int group2_attr1;
}
를 들어 . 그룹 2
<?xml version="1.0" encoding="utf-8"?>
<Test xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org /2001/XMLSchema">
<group2_attr1>0</group2_attr1>
</Test>
로 저장 예를 들어 "깨끗한"방법으로 그것을 수행하는 방법 방법이 있나요
<?xml version="1.0" encoding="utf-8"?>
<Test xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org /2001/XMLSchema">
<group1_attr1>0</group1_attr1>
<group1_attr2>0</group1_attr2>
</Test>
그룹 1로 저장하면? 아마도 xmlserialization에 없다면 바이너리일까요? 그런 다음이 두 파일을 Test의 단일 인스턴스로 병합하는 가장 좋은 방법은 무엇인지 알고 싶습니다. (group1과 group2의 입력란은 겹치지 않습니다.)
가 왜 이러한 저장하지 않습니다를 propertys 목록에/사전 및 직렬화하기 전에 컬렉션을 리필? 이것이 실제로 문제가된다면 재 설계를 고려해야합니다. –
mbx
다른 인터페이스의 속성 그룹을 설명하는 인터페이스를 만드는 경우 인터페이스 주도 XML 직렬화를 사용하여이 문제를 해결할 수 있습니다 (인터페이스는 다중 상속을 지원합니다). 그것에 대해 생각해보십시오. 건배;) –