타사 도구의 XML 파일을 사용자 정의 소프트웨어 클래스로 deserialize하려고합니다. 문제는 "루트"항목이 실제로 컬렉션의 선언이기 때문에 XML이 조금 어리석은 것입니다. 직렬화를 정의하기 위해 XMLArray와 다른 정의를 많이 했었지만 이것이 효과가없는 것 같습니다. 내가 할 수 있었던 최선의 방법은 컬렉션을 읽도록하는 것이지만 콜렉션의 어떤 것도 변수로 초기화하지 않는다. 여기 루트 수준의 콜렉션에서 XML 객체 직렬화
내가 직면하고 무엇의 예입니다XML :
<Animals>
<Animal>
<Name>Mr. Cow</Name>
<Type>Cow</Type>
</Animal>
<Animal>
<Name>Belle</Name>
<Type>Cow</Type>
</Animal>
<Animal>
<Name>Porky</Name>
<Type>Pig</Type>
</Animal>
</Animals>
그때 내 XMLRoot 내 "농장"개체에서 "동물"로 정의했다. 그리고 "Animal"클래스에 대한 목록 속성이 있습니다. 해당 속성 (목록 AnimalCollection)을 정의하면 얻을 수있는 최선의 방법은 3 개의 초기화되지 않은 Animal 개체 (아무 값도 설정되지 않음) 목록입니다.
사무실 주변에서 우리가 할 수있는 최선의 방법은 파일을 직렬화하기 전에 노드를 파일로 추가하고 비즈니스를 평소대로 사용하는 것이었지만 분명히 이것은 끔찍한 해킹처럼 보였습니다. 내가 누락 된 더 나은 방법이 있다고 생각하니.
나는 수동으로 문서를 읽는 것에 대해서도 생각했다. 그러나 다시 한 번 우아한 방법이 있기를 바란다.
또 다른 옵션입니다. 왜 그렇게 생각하지 않았는지 확실하지 않습니다. 나는 누군가가 이것을 훨씬 쉽게 허용하는 XML 태그를 알고있는 경우에 대비해 이것을 열어 둘 것이지만 이것은 분명히 효과가있을 것이다. 감사! (이미 +1) – RiddlerDev