2012-05-23 2 views
0

내 프로그램 데이터를 저장하기 위해 xml 파일을 사용하고 싶습니다. 는 XML의 구조는 다음과 같습니다C# 깊이가 3보다 큰 데이터 세트

<?xml version="1.0" standalone="yes"?> 
<Data> 
    <Projects> 
     <Project> 
      <Name>Name1</Name> 
      <Description>Description1</Description> 
     </Project> 
     <Project> 
      <Name>Name2</Name> 
      <Description>Description2</Description> 
     </Project> 
    </Projects> 
</Data> 

내가 그것을 XML 구조를 쉽게 읽기와 쓰기를 제공하기 때문에 DataSet를 사용하고 싶습니다. 그러나 문제는 <Project> -Nodes의 값을 읽고 쓰는 방법입니까? <Projects> -Node에 액세스 할 수 있지만 그 다음에는 하나의 프로젝트가 테이블이 아니기 때문에 계속하는 법을 모르겠습니다. 그렇다면 깊이 3의 노드 (데이터 -> 프로젝트 -> 프로젝트)에 어떻게 액세스 할 수 있습니까? 나는 파일을 읽고 콘솔에서 출력하면 작동하기 때문에 어떻게 든 작동해야한다고 생각합니다.

답변

0

DataSet XML 구조의 항목에 액세스하는 데 훨씬 우수한 API를 제공 할 수 있으므로 XDocument와 XElement를 대신 사용하는 것이 좋습니다. 당신이 시작하는 데 도움이 될 수 있습니다

http://msdn.microsoft.com/en-us/library/system.xml.linq.xdocument.aspx

또 다른 링크 : DataSet 당신이 이동하기위한 올바른 방법이 아니다처럼

How to Get XML Node from XDocument

+0

음 ... 좋아요. 나는 그것이'DataSet'을 사용하는 것이 더 쉬울 거라고 생각했지만 올바른 방법이 아닌 것 같습니다. 나는 당신과 (그리고 다니엘이) 제안한 수업을 찾아 볼 것입니다. 감사... – AquilaRapax

0

더 나은 클래스를 사용해보십시오. 개체 목록이있는 데이터 프로젝트를 직렬화/역 직렬화하기가 더 쉽습니다. 나는 그 데이터 세트로 XML을 읽고 쓰는 것이 더 쉽다고 생각하지 않는다.

0

소리가 난다. 임의의 XML을 읽고 쓰는 범용 메커니즘이되는 것은 아닙니다.

.NET Framework 4 이상을 사용하는 경우 DataSet 대신 XDocument을 사용하는 것이 좋습니다.

이전 .NET Framework 버전을 사용하는 경우 XmlDocument, XmlReaderXmlSerlializer을 비롯한 많은 다른 옵션이 있습니다. 선택할 데이터는 데이터의 출처와 처리 방법에 따라 다릅니다.

관련 문제