2012-12-08 2 views
1

내 C# 프로그램에서 사용자가이 프로그램이 파일에서 수행하기를 원하는 일련의 명령을 읽었습니다. 현재 XML을 사용하여이 데이터를 저장하고 있습니다.XML 파일에서 데이터를 저장하는 방식으로 데이터를 저장하는 방법

나는 XML 데이터 액세스 호출로 코드를 버리거나하지 않고이 데이터를 저장하는 좋은 방법을 생각하고있어 XML만을 사용하여 이것을 연결하는 데 어려움을 겪고있다. 읽고 스케줄링 XML 파일에서 내 프로그램이 데이터를 저장할 수있는 좋은 방법입니다 무엇

<cooking> 
    <job> 
     <name>Cook Scrambled Eggs</name> 
     <device>Robo-Chef</device> 
     <action> 
     <name>break eggs into pan</name> 
     </action> 
     <action> 
     <name>scramble the eggs</name> 
     <duration> 00:01:00</duration> 
     </action> 
    </job>  

    <trigger> 
     <name>Breakfast</name> 
     <forJob>Cook Scrambled Eggs</forJob> 
     <start_time> Everyday at 7:00 AM</start_time> 
    </trigger>  
</cooking> 

:

는 여기에 내가 (컨텍스트를 제공하기 위해) 사용하고 XML의 종류의 예입니다 나머지 프로그램은 XML 파일에서 분리 된 것입니다.

+0

누군가 downvotes를 설명 할 수 있을까요? 어떻게 이것이 진짜 질문이 아닌가? XML을 분리 된 방식으로 읽는 방법을 묻습니다. 이런 종류의 행동은 초보자에게 뭔가 낙심하고 있습니다 (이 경우 XML). – Xantham

답변

1

글쎄, 실제로 C# 개체를 직렬화하고 비 직렬화 할 수 있습니다.

그런 경우 샘플 데이터에서 XML 스키마를 추출하고 xsd.exe를 사용하여 C# 클래스를 생성 한 다음 XmlSerializer을 사용하여 직렬화 및 비 직렬화해야합니다.

생성 스키마 및 클래스 : https://stackoverflow.com/a/11654672/1373170

원본에 대한 걱정, 다른 C#을 클래스 만 몇하지 않는 게 좋을 그런 식으로. 나중에 모든 것을 리팩토링 할 필요없이 형식을 JSON으로 변경할 수도 있습니다.

+0

답변 해 주셔서 감사합니다. 나는 이것이 존재한다는 것을 몰랐다. 그것이 바로 내가 원했던 것이다. – Xantham

+1

그래. 또한 XmlSerializer를 사용하는 방법에 대한 예제를 제공하는 비슷한 대답을 발견했습니다. http://stackoverflow.com/a/364410/1373170 –