VB.Net에로드해야하는 XML 파일이 많이 (15-20 개) 있습니다. 그것들은 데이터베이스에있는 것처럼 설계되었습니다. 그들은 Access에서 디자인되고 XML 파일로 대량으로 내 보냅니다. 각 파일은 데이터베이스의 다른 테이블을 나타냅니다.VB.Net 구조에 XML 파일로드
이제이 정보를 VB.Net에로드해야합니다. 처음에는 DAO를 사용하고 쿼리를 통해 직접 MDB에 액세스하는 것을 좋아하지만이 프로젝트가 아래의 XNA/C#으로 쉽게 이식 될 수 있도록하기 때문에 가능하지 않습니다. (Xbox 360은 MDB를 사용할 수 없기 때문에 차라리이 문제를 해결할 것입니다.)
그래서 지금은 모든 XML 파일을 함께 모으기 위해 노력하고 있습니다. 각 공장을 개별적으로 파싱하기 위해 공장을 사용해 보았습니다. 예를 들어 세 개의 XML 파일에 '문자'클래스에 대한 데이터가 포함되어 있다면 각 XML 팩토리에 Character 인스턴스를 전달하고 클래스는 필요한 데이터를 적용합니다.
많은 코드를 가진 여러 클래스를 유지하는 것이 고통 스럽다. 게다가 디버깅하기도 어렵습니다. 그래서 저는 새로운 해결책을 찾으려고합니다.
지금 당장 생각할 수있는 유일한 것은 System.Reflection을 사용하는 것입니다. 여기서 System.Reflection은 클래스/구조체의 각 멤버를 구문 분석하고 인스턴스화하고 그 멤버의 이름을 사용하여 데이터를 읽습니다. XML 파일의 요소.
그러나 구조/클래스의 각 멤버가 XML 파일에서 일치하는 요소를 가지며 그 반대의 경우도 마찬가지입니다.
휴대 성을 유지하기 위해 XML 인터페이스를 강제로 사용해야합니까? 그렇다면 관계형 데이터베이스 API는 당신이 끝내는 모든 논쟁 솔루션보다 더 이식성이 될 것입니다 ... – Tahbaza
당신은 스스로를 더 어렵게 만들고 있습니다. MDB에 액세스하면됩니다. C#에서는 VB.NET과 거의 동일합니다. – David
XNA/C#을 사용하여 이식성을 유지하려고합니다. XBox360에 배포되는 프로젝트에서 MDB 파일에 액세스하거나 MDB 파일을 사용할 방법이 없습니다. 차라리 하나 이상의 플랫폼이 아닌 여러 플랫폼에서 작동하는 시스템을 나중에 포트 할 때 다시 실행해야하는 시스템을 생각해 볼 수 있습니다. –