2012-05-19 4 views
0

특정 텍스트 파일의 전체 내용을 XML 파일 내용의 특정 분기와 비교하고 콘솔 결과가 일치하는지 여부에 따라 콘솔 출력을 1 또는 0으로 출력하는 방법을 찾고 있습니다. . 내가 좋아하는 외모를 비교하고 싶은 XML의 일부 :XML을 TXT로 비교 C#

-<root>-<Info><Seperator>DATA TO BE COMPARED</Seperator></Info> 

XML은 그 아래에 더 많은 데이터를 가지고 있지만 난 단지 텍스트 파일에이 줄을 비교하려는. 예. xml 파일에 열에 "test"가 포함되어 있고 텍스트 파일에 작성된 모든 텍스트 파일이 "test"이면 1을 출력하지만 xml은 "test"이고 텍스트 파일은 "test123"이라고 표시 한 경우 .

내가 발견 한 가장 가까운 것은 두 개의 XML 파일을 비교하려면 Xml Comparison in C#이고 두 개의 txt 파일을 비교하려면 http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/59db1bb1-d822-4db7-b09c-f7d2d5c705b4입니다.

var xml = "<root><Info><Seperator>DATA TO BE COMPARED</Seperator></Info></root>"; 
var xmlString = XElement.Parse(xml).Descendants("Seperator").FirstOrDefault().Value; 

그리고 당신이 File.ReadAllText를 사용할 수 있습니다

+0

이것은 숙제로 표시해야합니까? –

+0

아니, 필자가 작성한 프로그램에서이 작업을 수행하려고 시도했지만 C#을 처음 사용하는 사람이 새입니다. @DavidHoerster 제공 할 수있는 도움을 주셔서 감사합니다. – User093203920

+0

파일에 한 줄만 포함되어 있습니까? – yamen

답변

0

의 separator 잘못된 철자 및 XML의 단일의 separator 노드가있다 가정, 당신은 관련 노드를 읽을 XML에 LINQ를 사용할 수 있다는 사실을 무시 문자열로 파일을 읽어 다음

var fileString = File.ReadAllText(@"c:\test.txt"); 

마지막으로 비교 :

Console.WriteLine("{0}", fileString == xmlString ? 1 : 0); 
+0

고마워요! 완벽합니다. 간단한 질문에 대해 유감스럽게 생각합니다. 이것은 C#을 가르치려고하는 첫 번째 주입니다. 일반적으로 과거에는 파이썬과 자바를 사용했습니다. – User093203920