사용 가능한 무료 Xml Diff / Merge 도구가 있습니까? [닫은]


105

내 .net 응용 프로그램에 응용 프로그램 설정 요소 등을 병합하려는 여러 구성 파일이 있습니다.

평소처럼 수동으로 시작하려고했지만 어딘가에 XML diff GUI 도구가 있어야한다고 생각했습니다.

도구는 요소 수준으로 이동하여 차이점 등을 비교하고 표시 할 수 있습니다.

그러나 Google은 실질적인 무료 도구 결과를 제공하지 않았으며 가치있는 것에 대한 힌트도 제공하지 않았습니다.

그러한 도구를 사용할 수 있습니까? 그것은 매우 유용합니까? 무료로?

미리 감사드립니다. :)

편집하다:

다음은 오류가 발생하기 쉽고 지루한 수동 작업을 1 분 더 간단한 작업 (및 자동화 가능성)으로 바꾸는 기능에 대한 설명입니다.

KDiff3에서는 전체 디렉토리를 비교 / 병합 할 수 있습니다. 매우 정확하고 사용자 친화적이며 명확한 계층 적 차이가 있습니다. 비슷한 솔루션을 찾는 데 관심이 있었지만 디렉터리 계층 대신 XML 요소 계층 구조였습니다.

그러한 오픈 소스 소프트웨어가 없다면이 기능을 제공하기 위해 CodePlex에서 하나를 만드는 것을 고려하고 있습니다.

답변:


11

KDiff3 는 XML과 관련이 없지만 무료입니다. 텍스트 파일을 비교하고 병합하는 좋은 작업을 수행합니다.


3
현재 KDiff3를 사용하고 있다는 데 동의하지만 요소 수준으로 내려갈 수있는 XML 전용 도구는 훌륭 할 것입니다.
Russell

2
저는이 관점에서 생각했습니다. KDiff가 디렉토리의 계층 적 차이를 수행하는 방식, 요소의 계층 적 차이도 작동 할 수 있습니다. 따라서 요소가 변경된 경우 동의합니다. 상위 요소도 변경된 것으로 표시되어야합니다.
Russell

25
모두가 무언가를보고 한 "도구"진정한 XML을 준수하는 도구가 될 수 없습니다 다음에 정말 하나 개의 파일에서 같은 순서로이 없었다 XML에 자식 노드가 특정 순서에 보장되지 않습니다 실현

7
순서가 변경되면 요소가 다릅니다. 해당 XML 문서의 의미에 따라 순서가 중요 할 수도 있고 중요하지 않을 수도 있습니다. 예를 들어 XHTML에서 분명히 순서가 중요합니다.
George Lund

7
요점은 일반 diff 도구가 라인 기반으로 작동한다는 것입니다. 비교하는 형식을 이해하는 CSV 파일과 같은 특정 비교 도구가 있습니다. 더 잘 이해할수록 더 효과적으로 diffing이 발생할 수 있습니다. 좋은 XML 비교 도구는 XML을 구문 분석하고 스키마를 사용하여 주문이 중요한지 여부와 같은 제약 조건을 결정한 다음 그 지식을 사용하여 훨씬 더 효과적인 비교 / 병합 경험을 제공 할 수 있습니다.
Stijn de Witt

32

WinMerge를 사용 하고있는 파일 비교 도구를 살펴보십시오 . XML 문서를 비교할 수있는 기능이 있습니다 ( 사전 필터 를 활성화 할 수 있습니다 ).DisplayXMLFiles

DisplayXMLFiles.dll- 이 플러그인은 탭과 줄 바꿈을 삽입하여 XML 파일을 멋지게 인쇄합니다. 이것은 편리한 위치에 라인 리턴이없는 XML 파일에 유용합니다.

WinMerge 작동

기능 비교 표를 참조하십시오 .


6
+1 Winmerge 버전 2.12.4.0; 메뉴 "Plugin"-> "List"-> "Enable Plugins"체크; 메뉴 "Plugin"-> "Automatic unpacking"체크. 확장자가 .xml 인 파일 이름을 가진 XML 파일로 테스트했으며 작동하는 것 같습니다.
Alessandro Jacopson

10
순서가 다른 속성을 잘 처리하지 못하므로 상황에 따라 유용성이 제한 될 수 있습니다.
Michael Kohne 2012 년

이 첫 번째 정렬 요소와 속성에있는 XML 파일에 대한 변환 사용 stackoverflow.com/questions/4091085/xslt-to-sort-nodes-by-name
래리 데이비드

1
플러그인을 더 이상 사용할 수없는 것 같습니다.
Fernando Gonzalez Sanchez

설치 프로그램에없는 이유는 모르겠지만, bitbucket / 소스 코드 (sourceforge DL)의 src 저장소에서 가져올 수있었습니다. bitbucket.org/winmerge/winmerge/src/…
aCodeMonkey

21

저는 XML 파일을 비교하고 병합하는 문제를 특별히 해결하는 Windows 응용 프로그램을 작성하고 출시했습니다.

프로젝트 : 병합 은 모든 XML 파일의 양방향 및 3 방향 비교 및 ​​병합을 수행 할 수 있습니다 (파일 중 두 개는 공통 기본 파일의 독립적 인 개정으로 간주 됨). 무엇보다도 속성 값 또는 하위 요소의 컨텐츠로 입력 파일 내의 요소를 식별하도록 지시 할 수 있습니다.

명령 줄을 통해 완전히 제어 할 수 있으며 파일 간의 차이점을 포함하는 텍스트 보고서를 생성 할 수도 있습니다.

프로젝트 : 3 개의 XML 파일 병합 병합


안녕하세요 @James 정보 감사합니다. 분명히 무료라면 좋을 것입니다. 그러나 매우 멋진 기능을 제공합니다. 위의 예는이 도구가 왜 도움이되는지에 대한 고전입니다! 게시물 주셔서 감사합니다. :)
Russell

Project :: Merge를 시도했지만 안타깝게도 내 작업에 대처할 수 없었습니다. <p>서식이 추가 된 paras ( ) 에 HTML 텍스트가 있습니다 (예 : <i>, <em>). 따라서 Project :: Merge는 완전한 para가 변경되었음을 보여줍니다. 심층적 인 단어 분석은하지 않습니다.
dma_k

예, XHTML (레거시 HTML을 절대 수행하지 않음) 지원은 일반적으로 XML 블록 내에서 텍스트 차이가있는 것과 마찬가지로 이러한 측면에서 매우 제한적이라는 점을 유감스럽게 생각합니다. 지금까지 대부분의 작업은 자유 형식 문자 데이터의 범위와 사용이 제한되는 구성 스타일 XML 파일에 중점을 두었습니다. 향후 릴리스에서 Project : Merge를 개선 할 수 있기를 바랍니다.

2
-1, OP는 자유 소프트웨어에 대해 물었습니다. Project Merge는 평가판이며 3 년 동안 업데이트되지 않았습니다.
yourbuddypal 2014-07-02

3
Project : Merge는 이제 Oso XML Merge로 대체되었습니다 : osocorporation.com/xmlmerge/index.php
leetNightshade


3

TortoiseSVN 프로그램에 포함 된 TortoiseMerge를 사용 합니다.

그리고 우리는 XML 전용이 아닌이 스레드에서 File Diff 도구에 대해 이야기했습니다.

/programming/1830962/file-differencing-software-on-windows


1
감사합니다 S.Mark, 내가 epotter에게 언급했듯이, 나는 이미 일반 파일 diff를 위해 KDiff3를 사용하고 있지만, 가능하다면 XML 특정 diff 유틸리티를 선호 할 것입니다 (그렇지 않다면 오픈 소스를 시작할 것입니다 :))
Russell

>> (if not, I will start up an open-source one :)와, 훌륭 해요! 그것이 시작되면 여기 어딘가에 링크를 드롭하십시오.
당신은

3

이것이 GUI 도구는 아니지만 빠른 테스트에 따르면 diffxml 에는 약간의 가능성이 있습니다. 저자는 중첩 된 요소에 대한 diff를 표준화 된 방식으로 표현하는 복잡성에 대해 생각한 것으로 보입니다 (DUL-Delta Update Language 사양).

그의 도구를 설치하고 실행하면 원시 텍스트 출력이 매우 명확하고 간결하다고 말할 수 있습니다. GUI 도구와 같은 수준의 즉각적인 우려를 제공하지는 않지만 출력이 DUL로 표준화되어 있다는 점을 감안할 때이를 가져 와서 시각적 표현을 생성하는 도구를 만들 수있을 것입니다. 나는 확실히 하나를보고 싶다.

작성자의 "링크"섹션은 몇 가지 다른 XML 차이점 보관 도구를 참조하지만 게시물에서 언급했듯이 모두 독점적입니다.


4
내 경험은 다음과 같습니다. XML 도구에서 예상되는 요소의 재정렬을 전혀 처리 할 수 ​​없습니다 (때로는 순서가 중요하기 때문에 옵션으로), 그리고 최소한의 차이 대신 전체 변경된 요소를 보여줍니다. . 기본적으로 큰 의미 변경없이 주요 서식 변경이있는 경우 diff 파일은 완전히 새로운 XML 파일입니다.
SilverbackNet 2013 년

3

Pretty Diff 도구는 XML을 염두에두고 만들어졌습니다. "마크 업"옵션을 클릭하십시오.

http://prettydiff.com/


하지만 그게 온라인 도구 죠? 왼쪽에서 오른쪽으로 변경 사항을 적용하거나 병합하려면 어떻게해야합니까?
dma_k 2011-08-23

또한 정렬 옵션을 변경해야합니다. 그렇지 않으면 XML 요소가 이동 만했을 때 변경된 것으로 플래그를 지정합니다 (순서는 XML에서 중요하지 않으므로 변경으로 표시되지 않아야합니다). 그래도 콘텐츠를 기반으로 중첩 된 섹션을 정렬하지 않으므로 요소 순서가 변경된 경우 큰 XML 블록의 추가 및 제거가 계속 표시되므로 세분화 된 차이를 얻을 수 없습니다.
Malvineous




0

CodeCompare 도구 를 사용하는 것이 좋습니다 . XML 데이터의 기본 강조 표시를 지원하며 작업에 적합한 솔루션이 될 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.