동일한 XML 파일에 있어야하는 두 개의 클래스가 있습니다. 클래스가 완료되는 방식은 별도로 직렬화해야한다는 것을 의미합니다. 나는 그럭저럭 할 수 있었다. 먼저 TextWriter를 사용합니다.기존 파일에 직렬화하고 선언을 제거하십시오.
TextWriter writer = new StreamWriter(filepath);
serializer.Serialize(writer, class, ns);
잘 작동합니다. 그런 다음 다른 클래스를 파일에 추가하려고했습니다. 그래서 동일하지만 추가했지만 덧붙이고 싶습니다.
TextWriter writer = new StreamWriter(filepath, true);
이렇게하면 새 클래스가 끝에 추가되지만 내 XML 파일을 읽을 수 있도록 또 다른 선언이 추가됩니다.
<?xml version="1.0" encoding"utf-8"?>
<dog>
...
</dog>
<?xml version="1.0" encoding"utf-8"?>
<cat>
...
</cat>
나는 XmlWriter를 사용하기 때문에 그때 XmlWriterSettings를 사용 OmitXmlDeclaration에 대해 false를 선택하지만 그것이 내가 직렬화 이전 클래스가 오버라이드 (override) 할 수 시도했습니다.
두 개의 개체 요소를 포함하려면 최상위 요소를 방출해야합니다. XML 문서가 둘 이상의 최상위 요소를 갖는 것은 오류입니다. – cdhowie