서로 다른 구성을 가진 여러 프로젝트가 있는데,이 모든 구성은 단일 XML 파일에 지정되어야합니다. 이것은 app.config가 아니지만 일반적인 위치에 지정되어 있습니다.네이티브 Xml 처리 또는 (외부) lib
나의 현재 프로젝트 구조 :
- 핵심 프로젝트
어떤 .NET XML 기술이 이에 가장 적합합니까? 내가 제안하는 게시물에서 아무것도 읽지 않은 사전
서로 다른 구성을 가진 여러 프로젝트가 있는데,이 모든 구성은 단일 XML 파일에 지정되어야합니다. 이것은 app.config가 아니지만 일반적인 위치에 지정되어 있습니다.네이티브 Xml 처리 또는 (외부) lib
나의 현재 프로젝트 구조 :
어떤 .NET XML 기술이 이에 가장 적합합니까? 내가 제안하는 게시물에서 아무것도 읽지 않은 사전
문제에 대한 현재의 솔루션 : LINQ와
내가 객체를 일치하는 XML 요소를 가지고있어 XML로. 이 XML 요소는 루트보다 한 레벨 아래에 있습니다. 이 방법으로 나는 루트 태그를 먼저 '필터링'하고 이것을 역 직렬화가있는 객체에 문자열로 변환합니다.예를
<root>
<project1>
<somevalue>myvalue</somevalue>
</project1>
<project2/>
</root>
내가 해당 개체 (들) 문자열을 역 직렬화 다음 XML에 LINQ와 후손 문자열을 받고 있어요 프로젝트 1에서 모든 것을 원하는 경우에 대한
.
에
감사합니다, 그 내장 된 닷넷 프레임 워크의 XML 기능 작업이 아닐 것입니다.
저는 거의 매일 XML로 작업하고 있으며 아직까지 외부 라이브러리가 필요하지 않았습니다. 모두 프로젝트의 요구 사항에 따라 다르지만 동일한 기능을 사용하는 두 개의 프로젝트가 있으므로 두 프로젝트의 XML 처리를 추상화하고 격리 할 수 있고 자신의 핵심 \ 하위 프로젝트의 xml 클래스 또는 별도의 dll 프로젝트의 (내 기본 설정). dll은 앞으로도 잘 서비스 할 수 있습니다.
자신의 XML 기능을 작성하는 데 추가 된 보너스는 .Net XML 네임 스페이스의 내부 동작에 대해 더 자세한 지식을 수집한다는 것입니다. 지식을 낭비하지 않는 지식, 외부 라이브러리 (종종 .Net 클래스의 래퍼 및 외관).
희망이 다소 도움이되고 행복한 코딩.
아마도 app.config 파일이이 용도에 가장 적합 할 것입니다. 사용자 고유의 구성 섹션을 만들 수 있으며 프로젝트의 단일 구성 파일은 모든 참조 된 어셈블리에서 액세스 할 수 있으므로 각 어셈블리에는 자체 섹션이있을 수 있습니다. user.config에서 사용자 특정 구성을 사용할 수도 있습니다 (Application Settings Architecture 참조).
당신이 항상 ConfigurationManager.OpenMappedExeConfiguration
다른 대안으로 다른 위치에서 app.config 파일을로드 할 수 있습니다 특정 위치에 있어야하기 때문에 당신은의 app.config를 사용할 수없는 경우 :
XmlSerializer
을 사용하여 구성을 사용하여 XML을 POCO로 deserialize합니다.XDocument
또는 XmlDocument
을 사용합니다.
"네이티브 Xml 처리 또는 외부 라이브러리"와 같은 게시물 제목의 이름을 바꾸는 것이 좋습니다. C#은 태그가 이미 있고 현재 제목이 게시물 내용을 적절히 반영하지 않으므로 제목에 필요하지 않습니다. 순간에 –
나는'Linq To Xml'을 사용할 것입니다 ... – I4V